📝

Manjaro Linux をやめて EndeavourOSをはじめてみる

に公開

Thinkpadでいい感じにEndeavourOSを使う

Thinkpad X1 CarbonにEndeavourOSを導入した記録

わからないこと

  • 丁寧なインストール手順
    Windowsのパーティションを縮める方法とか、USBメモリにインストールメディアを焼くとか細かいことは割愛

募集中

こんなソフトおすすめだよというのがあったら教えてください。
ツールは日々探しています。

構成

Thinkpad X1 Carbon gen9
Thinkpad 全体的に使いやすいのだけれど、不満点がいくつかあって……
ただしWindowsを完全に消してしまうと色々と不都合もあるので、デュアルブートを選択。
Windowsがデフォルトで巨大なCドライブを持っているのでこれを縮めてWin/Linux共有フォルダとLinux領域を確保。

インストール

言語

システム言語は En-USで設定。

デスクトップ

今回はKDEを使ってみたいの Plasma KDEを選択。

Boot loader

デュアルブートとしたいのでGrubを選択。

Partition

パーティション割合は良い感じで 今回は/に100GB、/homeに400GBほど割り当てた MB単位でしか指定できないので計算して割り当てる
FAT32 500MB /boot/efi
btrfsも試してみたい気はしたけれど今回はExt4で。
その他はポチポチ環境にあった設定を入れていく

初期設定

インストールが終わったら諸々初期設定をしていく。
日本語環境をシステム設定から入れる。

時刻調整

Winとデュアルブートにしていると、時計がずれるので修正する。
Linux側で$ sudo timedatectl set-local-rtc true

システムツール系

  • systemd
  • yay

システムモニタ系

  • neofetch
  • fastfetch
  • conky
  • bottom

日本語関係

fcitx5の辞書改良版を利用する。
yay -S fcitx5-im fcitx5-mozc-ut

ビルドが終わったら環境変数に追加
/etc/environmentを編集する。
$sudo echo "XMODFIERS=@im=fcitx" >> /etc/environment

システムクロック

マルチブート環境だとシステムクロックがずれる場合がある。
まずはUTCで認識するようにする。
$sudo timedatectl set-local-rtc 0

chromium系アプリなど

/usr/share/hogehoge.desktop ファイルに起動オプションをつけることで日本語入力を良い感じに動かせるようにする。
Exec=/usr/bin/hogehoge --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime %U

ターミナル/エディタ

  • alacritty
  • fish
  • fisher
  • starship
  • neovim
  • git
  • ripgrep(rg)
  • fd
  • tree

ブラウザ系

  • vivaldi
  • slcak-desktop
    - discord
    ブラウザ版にすることにした

システムツール

  • スクリーンショットツール  
     次のやつを組み合わせて矩形選択できるようにしている。  
    sudo pacman -S grim slurp wl-clipboard

  • Ranger
    ターミナルで動くファイラ

  • reflector

  • chezmoi
    dotfileマネージャ

chezmoi

dotfiles マネージャ。なんて読むかわからないと思ったらフランス語らしい。
YADMと悩んだけれどクロスプラットフォーム対応で凝ったことができるのはこっちらしいのでこちらを採用。
初期設定をしておく。


# インストール
$ yay -s chezmoi

# 初期化+Github連携
$ chezmoi init git@github.com:ユーザー名/dotfiles.git

# 管理するファイルやディレクトリを追加する
$ chezmoi add .bashrc
$ chezmoi add .config/hogehoge  

Network Tools

  • Wireshark
  • net-snmp
  • mtr
  • smokeping

fishの設定

メインのシェルとしてfishを採用する。
ただしfishはPOSIX互換では無いためデフォルトシェルとする場合は注意が必要だったりする。
そのためTerminalを呼び出すときの起動オプションでfishを立ち上げるようにしている。
fishのconfigは~.config/fish/config.fishになるので作成する。

Alias

fishでもAliasは使用可能だが、置き換えは可読性が良くないのと後で忘れるのでabbrを利用する。
abbrはabbreviation、略語で入力すると元のコマンドを展開してくれるので非常に便利。
細かい設定はconfig参照のこと。

Plugin

プラグインマネージャはfisherを使う。

fisher install PatrickF1/fzf.fish
fisher install edc/bass
fisher install meaningful-ooo/sponge
fisher install jethrokuan/z

forUbuntu

ubuntuでfisherをいれるにはfish上で curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher

デスクトップ環境

今回はKDE+wayland のリッチなデスクトップ環境を使いたいためKDEを入れたけれど、ウィンドウマネージャはタイル型を使いたいのでタイル型のWMであるSWAYを採用しようと思う。

sway

# pacman -S sway xorg-xwayland qt5-wayland

Sway 周り

Swayシステムに関係するエコシステム
swayidle
swaylock

  • Kanshi
    拡張ディスプレイの管理ツール
    ラップトップで環境によってディスプレイ構成が変わったりするときは必要そう。

$ yay kanshi
$ mkdir ~/.config/kanshi
$ touch ~/.config/kanshi/config

sample 各環境に合わせて
ディスプレイを接続した状態で swaymsg -t get_output で現在認識中のハードウェアがわかる

設定ファイルを書く。
以下は一例。

config
profile {
  output eDP-1 mode 1920x1080 position 0,0 scale 1.0
}

profile {
  output eDP-1 mode 1920x1080 position 0,0 scale 1.0
  output "Eizo Nanao Corporation EV2795 52326062" mode 2560x1440 position 1920,0 scale 1.0
}

profile {
  output eDP-1 mode 1920x1080 position 0,1440 scale 1.0
  output "Eizo Nanao Corporation EV2795 52326062" mode 2560x1440 position 0,0 scale 1.0
  output "Eizo Nanao Corporation EV2795 52324062" mode 2560x1440 position 2560,0 scale 1.0
}

~/.config/sway/config ファイルに以下の行を追加して、swayの起動時にkanshiを実行するようにします。
exec_always "systemctl --user restart kanshi.service"

systemdサービスの設定:
kanshiをsystemdサービスとして実行するために、以下の手順を実行します:
~/.config/systemd/user/kanshi.service ファイルを作成し、以下の内容を記述します:

systemd

[Unit]
Description=Kanshi dynamic display configuration
PartOf=graphical-session.target

[Service]
ExecStart=/usr/bin/kanshi

[Install]
WantedBy=sway-session.target

サービスを有効化します:
systemctl --user enable kanshi.service

nvim のカスタマイズ

普段使うツールとしてnvimを採用したいのだけれど、これだけで本が一冊書けてしまうのでカスタマイズは別記事で。

Launcher

fuzzel/wofi

Statusbar

waybar

ScreenLock

swaylock-effects

Fonts

noto-fonts-emoji

Tools

普段でよく使うツール等を入れていく

Network 系

  • wireshark
    パケットキャプチャ、アナライザ。必須。
    ユーザとして利用するためwireshark groupにユーザ追加をする
    $ sudo gpasswd -a USER wireshark

  • mtr
    Traceroute を良い感じに拡張してくれる。

  • hping
    tcp/ipのパケットを作ってテストできる

Security 系

長くなりそうなので別記事にする。

とりあえず

最低限の導入はできたのでその後のセットアップは別に。

Discussion