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
直った
