Manjaro i3 Editionを入れる+カスタム

2023-10-21

普段使っているノートPCのタッチパッドが壊れてしまったので、新しいノートPCを購入した。壊れたノートPCにはManjaro Linuxを入れていたが、環境構築に手間取ったことがなく開発体験がよかったので、今回もManjaroを入れていく所存だ。自分が使うノートPCはまずタッチパッドが壊れる呪いがあり、できればキーボード操作で完結しそうなものを探していたところ、i3wmというウィンドウマネージャに辿り着いた。

導入

起動まで

起動までは試行錯誤したのでかなりごちゃごちゃしているが、あしからず

Manjaro公式からisoイメージ落としてきて、適当なUSBにRufusで焼く

usb刺しても起動しないんだが?->BIOSからbootの優先順位変更 msiってロゴが出た画面で「delete」押すとBIOSに入れる

secure boot violationとか言われた->secureタブの色々をDisableにしたらいけた、でもSecure BootそのものはいじれなくてEnableのままなのが気になる BIOS入りなおしたらNot Activeになってた

やったこと

  • Secure Boot Support->Disabled
  • Secure Boot Mode -> Custom
  • Key Management - Factory Default Key Provisioning -> Disabled

Manjaroっぽい画面が起動したら以下の内容を設定

  • tz=Asia/Tokyo
  • keytable=jp
  • lang=ja_JP

Boot with open source drivers で起動

ステータスバー右下のアイコンをクリックしてwifiつなぐ

Manjaro Helloからインストーラを起動 文字化けしてたのでEnglishに戻した

インストール終わったら再起動

この辺でUSB抜いた

パッケージマネージャ

cmd(Windowsキーだった)+Enterでターミナル起動

ミラーサーバ設定

$ sudo pacman-mirrors --geoip

同期

$ sudo pacman -Syu

yayインストール 以後pacmanでインストールできるものでもyayでインストールする

$ sudo pacman -S yay

vscode

このあと設定ファイルを書き換える作業が何回かあるので、慣れているエディタを入れる

$ yay -S visual-studio-code-bin

日本語フォント

$ yay -S adobe-source-han-sans-jp-fonts

mod + ctrl + b で設定ツール(bmenu)開く

4 -> 1 -> 3 SetFont で Source Han Sans JP Normalを選ぶ

日本語入力

いつものfcitx(?)

$ yay -S fcitx5-im fcitx5-mozc

.xprofileに以下の内容を追記

export XMODIFIERS="@im=fcitx"
export XMODIFIER="@im=fcitx"
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export DefaultIMModule=fcitx

$ echo "exec --no-startup-id fcitx5" >> .i3/config

なおブラウザなどでは日本語入力できるがターミナルではできていない模様(後述)

ブラウザ

chromeいれますん

$ yay -S google-chorme

$ yay -S xdg-utils

デフォルトブラウザに設定

$ xdg-mime default google-chrome.desktop x-scheme-handler/http

$ xdg-mime default google-chrome.desktop x-scheme-handler/https

$ echo 'export BROWSER="/usr/bin/google-chrome-stable"' >> .bashrc

$ echo 'export BROWSER="/usr/bin/google-chrome-stable"' >> .zshrc

$ echo 'export BROWSER="/usr/bin/google-chrome-stable"' >> .xprofile

適当なエディタで.i3/configを開き、

bindsym $mod+F2 exec palemoon

となってる箇所をコメントアウトし、以下を挿入

bindsym $mod+F2 exec google-chrome-stable

カスタマイズ

この辺は人によって必要ないかもしれない、万が一環境がぶっ壊れてもう一度作り直すときのための備忘録

大部分をこのサイト参考にしてる

https://qiita.com/Hiroya_W/items/99c73dd29e88762b2d5c

ディスプレイ接続時に自動切り替え

ディスプレイに接続したときに毎回出力先を切り替えるのはだるいね、autorandrを使って設定

このサイトとやってること全く一緒だが、一応残す

https://ja.linux-console.net/?p=10000

autorandrをインストール

$ yay -S autorandr

外部ディスプレイが繋がっていない状態をデフォルトに設定

$ autorandr --save laptop

$ autorandr --default laptop

外部ディスプレイ繋いだ状態でArandrを開き、いい感じに設定

この設定を保存

$ autorandr --save laptop_external_ultrawide

これでType-Cケーブル抜き差しすると自動で切り替わるようになる、快適すぎ〜〜〜

壁紙設定

feh入れる

yay -S feh

使いたい画像が入ってるフォルダを開く、今回はデフォルトで入ってるやつ使う

feh /usr/share/backgrounds

壁紙に設定する画像上で右クリック、「File」>「Background」>「Set ○○」

これで壁紙が設定されるが、再起動のたびにもとに戻ってしまうので、.i3/configに書き込んで永続化

# Autostart applications
exec --no-startup-id ~/.fehbg

普通ならこれで終了だが、解像度が違う外部ディスプレイを使っていると壁紙がうまく設定されないときがある

(ダサいデスクトップの図)

ので、autorandrのhookを使う

autorandrのhookスクリプトファイルを作成

$ touch ~/.config/autorandr/postswitch

実行権限を一応付与

$ chmod 755 ~/.config/autorandr/postswitch

作成したファイルを適当なエディタで開き、以下の内容を書き込んで保存

#!/bin/bash

~/.fehbg

このhookはディスプレイを切り替えるたびに実行されるらしく、fehの壁紙設定スクリプトを呼ぶという内容にすることで、壁紙が画面サイズに合わせられるようになる

音が出ない

気づいちゃったね

$ yay -S pulseaudio

再起動

ターミナルの簡易的な改造

注意: フォントの設定ミスあり、読み飛ばしてもいいかも

文字大きく、行間広く、フォントをかっこいいものに

xrvt-unicodeに詳しそうなサイト

http://malkalech.com/urxvt_terminal_emulator#i-5

Xtermはインラインで日本語入力ができないらしい http://note.kurodigi.com/xterm-customize/ Xtermと勘違いしていたときの記述、でもuxrvtも日本語入力できない…

日本語は一旦放置する

.Xresourcesが設定ファイル

いい感じのフォント、Hack Nerd Fontをインストール

$ yay -S ttf-hack-nerd

fc-listコマンドの結果をNerdで絞り込み、正式名称を調べる

$ fc-list | grep Nerd

結果の一部

/usr/share/fonts/TTF/HackNerdFontMono-BoldItalic.ttf: Hack Nerd Font Mono:style=Bold Italic
/usr/share/fonts/TTF/HackNerdFont-Bold.ttf: Hack Nerd Font:style=Bold
/usr/share/fonts/TTF/HackNerdFont-Italic.ttf: Hack Nerd Font:style=Italic
/usr/share/fonts/TTF/HackNerdFont-Regular.ttf: Hack Nerd Font:style=Regular
/usr/share/fonts/TTF/HackNerdFontPropo-Regular.ttf: Hack Nerd Font Propo:style=Regular

今回はHack Nerd Fontを採用

簡易的に設定してみる

$ urxvt -fn "xft:Hack Nerd Font-16"

.Xresourcesに書いて設定を永続化する

URxvt.font:                       xft:Hack Nerd Font-16

設定をマージしてターミナルを再起動

$ xrdb -merge ~/.Xresources

デフォルトシェルをzshに

一度zshを起動してみる

オーノーアイコンが四角に

でも起動はできるのでデフォルトシェルに設定

$ chsh $(which zsh)

zshの改造

zshでNerd Fontを使うならPowerlevel10kを入れるといいらしい?(あやふや)

oh-my-zshとPowerlevel10kを入れる

oh-my-zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Powerlevel10k

https://github.com/romkatv/powerlevel10k#oh-my-zsh

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

~/.zshrcにZSH_THEME環境変数を設定 先客がいるかもしれないので検索して置き換えよう

ZSH_THEME="powerlevel10k/powerlevel10k"

exec zsh するとpowerlevel10kのウィザードが立ち上がるので質問に答えていい感じの見た目を作ると…

oh my mojibake

フォントがダメぽ

いつの間にか入ってたpowerlevel10k用のnerd fontに変更 もし入ってなかったらyay -S ttf-meslo-nerd-font-powerlevel10k

$ yay -Ss powerlevel10k
aur/ttf-meslo-nerd-font-powerlevel10k 2.3.3-1 (+49 2.29) (インストール済み: 20230403-2)
 Meslo Nerd Font patched for Powerlevel10k
$ fc-list | grep Meslo                                                                       
/usr/share/fonts/TTF/MesloLGS-NF-Bold-Italic.ttf: MesloLGS NF:style=Bold Italic
/usr/share/fonts/TTF/MesloLGS-NF-Italic.ttf: MesloLGS NF:style=Italic
/usr/share/fonts/TTF/MesloLGS-NF-Regular.ttf: MesloLGS NF:style=Regular
/usr/share/fonts/TTF/MesloLGS-NF-Bold.ttf: MesloLGS NF:style=Bold
URxvt.font:                       xft:MesloLGS NF-16

もう一回設定をマージしてターミナルを再起動

$ xrdb -merge ~/.Xresources

文字化け消えたーーー

スクリーンショット

yay -S shutter

フローティングウィンドウに設定するために~/.i3/configに書き込む

for_window [class="Shutter"] floating enable

prt scrキーにショートカットを設定 既にi3-scrotに設定されている部分を置き換える -aはアクティブウィンドウに対して撮影するオプションなので、好みに合わせる

bindsym Print exec --no-startup-id shutter -a

Win+Shift+C でリロード

Conky

いろんなガジェットを置こう

自分は~/.conkyにstart-conky.shというファイルを作り、そこに起動スクリプトを書いている

#!/bin/bash

sleep 1

export LC_ALL=C

conky -c ~/.conky/Linux\ Systems/Linux_systems &&
conky -c ~/.conky/conky-Vision/.conkyrc &&

exit 0

~/.i3/configに追記

# Autostart applications
exec --no-startup-id ~/start-conky.sh

またこれもautorandrのhookで起動する

#!/bin/bash

~/.fehbg
pkill conky
~/.conky/start-conky.sh

開発中.conkyrcを書き換えてもリロードされないことがあったので、そのときは$ pkill conky してもう一度conkyを起動する

https://www.deviantart.com/tag/conky?order=popular-all-time でウィジェットを探そう

ファイル選択ダイアログが大きすぎる(2023/11/01 追加)

dpiをいじっているせいなのか、ブラウザ上で「ファイルを追加」ボタンを押したりVScodeで「ファイルを開く」を選択したときに表示されるダイアログがめちゃめちゃ拡大されてしまった…

何も表示されていないように見えるが、

なにか入力するとこのように表示されるので、おそらくめちゃくちゃ拡大されてる

解決策はこれ

[i3]Chromium GtkFileChooserDialog font and sizing issues?
by u/MatriXcel in archlinux

~/.i3/configに以下の内容を追加(解像度は環境に合わせる)

floating_minimum_size 10 x 10
floating_maximum_size 1920 x 1200

直った