yukine8の日記

AndroidとかLinuxとかプログラミングとかマンガとか

Linuxで知ってると少し役に立つこと(経験談みたいな)

なにこれ

自分がLinuxを使って気づいた少し役に立ちそうなことを記録しておく場所

インストーラー作成アプリはVentoy

RufusとかBalena Echerとかいろいろありますが、Ventoyが一番楽
USBにVentoyをインストールしておけば、isoファイルを入れるだけでいい

ext4よりbtrfs

インストール時、ファイルシステムext4ではなくbtrfsにすると、Timeshiftの処理が速いし使う容量も少ない

Timeshiftは必須

アプリを入れたとき、ライブラリが必要だとか言われて入れたら、kwin環境がぶっ壊れて、GUI環境が起動しなくなったことがある
バックアップがあればすぐ直せるが、なければCUIで格闘する必要がある
ファイルシステムがbtrfsだと、差分バックアップを取れるから速いし必要な容量も少ない
ext4だとファイルのコピーを作るから遅いし容量がでかい

デュアルブート

インストール先のSSDを分けると、OSが壊れにくい気がする
SSD1にはLinux、SSD2にはWindowsを入れる

ディレクトリを英語に

"cd ダウンロード"って打つのは半角全角の切り替えがめんどくさい
インストール時に言語で英語を選ぶとディレクトリが最初から英語になる
日本語を選んでしまっても、コマンドで一発
LANG=C xdg-user-dirs-update --force

日本語入力はfcitx5、ibusもfcitxもだめ

ibusとfcitxは、半角全角切り替えで変換の確定ができない
例えば、「へんかん」を「変換」にして選択されている状態で半角全角を切り替えると確定される
Enterでページ遷移するアジアの小国のことを考えていない海外のサイトで使う

コマンドで設定したやつはまとめておく

例えば、yukine8はkeydのセットアップにちょっと苦労した
また苦労したくないから、それまでに実行したコマンドをChatGPTに渡して、shにまとめてっていう

そうするとこんなんが帰ってくる

こんなん

#!/bin/sh

# keyd のビルドに必要なツールをインストール(Ubuntuの場合)
sudo apt update
sudo apt install -y build-essential git

# ソースコードをクローンするディレクトリを作成して移動
mkdir -p ~/git_clone
cd ~/git_clone

# keyd のクローンとインストール
git clone https://github.com/rvaiya/keyd
cd keyd
make && sudo make install

# keyd サービスを有効化・起動
sudo systemctl enable --now keyd

# 設定ファイルを /etc/keyd/default.conf に書き込む
sudo tee /etc/keyd/default.conf > /dev/null <<EOF
[ids]
*

[main]
henkan = backspace
katakanahiragana = minus
capslock = esc
muhenkan = layer(nav)

[nav]
h = left
k = up
j = down
l = right
; = \`
d = home
f = end
u = C-left
o = C-right
EOF

# keyd を再読み込み
sudo keyd reload

次からはこのコマンドを実行すれば、設定が完了する
Google Keepとかに"keyd_setup.sh"とか名前をつけておいておく

Discordはflatpakから入れる

Discordのdeb版を入れると、アップデートが来るたびに、deb版をインストールし直さなきゃいけない
flatpakで入れよう
flatpakの権限管理アプリのflatsealも入れておこう

AppImageや.tar.gzで配布されている実行ファイルは~/.local/binにまとめる

Linuxには、システム全体の実行ファイルを入れておく/usr/binがある
ユーザーしか使わない場合は、~/.local/binに置く Windowsでアプリをインストールするときに、すべてのユーザーかこのユーザーだけかを選択するやつと同じ
yukine8が使ってるOSに入ってるユーザーはyukine8だけ
sudoを使って/usr/binに実行ファイルを置くのがめんどくさいから~/.local/binにおいてる

作るディレクトリは小文字にする

ディレクトリを作るときは基本的に小文字
~/Documents/obsidianみたいに
あと、" "(空白)は使わず、"_"(アンダーバー)を使う
空白があると、"で囲んだり、\で空白を無効化しなくちゃいけなくてめんどくさい

cd ~/projects/hello_world ←これが楽
cd ~/projects/hello\ world
cd "~/projects/hello world"

慣習的に"-"(ハイフン)も使わない
ただ、githubリポジトリをコピーすると、"-"を使ったディレクトリが作られることがある

neofetchは終了、fastfetchの時代

yukine8@ku2504 ~ 
❯ fastfetch 
           `.:/ossyyyysso/:.                yukine8@ku2504
        .:oyyyyyyyyyyyyyyyyyyo:`            --------------
      -oyyyyyyyodMMyyyyyyyysyyyyo-          OS: Kubuntu x86_64
    -syyyyyyyyyydMMyoyyyydmMMyyyyys-        Host: MS-7D98 (3.0)
   oyyysdMysyyyydMMMMMMMMMMMMMyyyyyyyo      Kernel: Linux 6.14.0-15-generic
 `oyyyydMMMMysyysoooooodMMMMyyyyyyyyyo`     Uptime: 4 hours, 19 mins
 oyyyyyydMMMMyyyyyyyyyyyysdMMysssssyyyo     Packages: 2638 (dpkg), 10 (flatpak)
-yyyyyyyydMysyyyyyyyyyyyyyysdMMMMMysyyy-    Shell: fish 4.0.1
oyyyysoodMyyyyyyyyyyyyyyyyyyydMMMMysyyyo    Display (PLE2208HDD): 1920x1080 @ 60 Hz in 22" [External]
yyysdMMMMMyyyyyyyyyyyyyyyyyyysosyyyyyyyy    Display (27E1QA): 2560x1440 @ 165 Hz in 27" [External] *
yyysdMMMMMyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy    DE: KDE Plasma 6.3.4
oyyyyysosdyyyyyyyyyyyyyyyyyyydMMMMysyyyo    WM: KWin (Wayland)
-yyyyyyyydMysyyyyyyyyyyyyyysdMMMMMysyyy-    WM Theme: Breeze
 oyyyyyydMMMysyyyyyyyyyyysdMMyoyyyoyyyo     Theme: Windows (BreezeDark) [Qt], Breeze-Dark [GTK2], Breeze [GTK3/4]
 `oyyyydMMMysyyyoooooodMMMMyoyyyyyyyyo      Icons: breeze-dark [Qt], breeze-dark [GTK2/3/4]
   oyyysyyoyyyysdMMMMMMMMMMMyyyyyyyyo       Font: Noto Sans (10pt) [Qt], Noto Sans (10pt) [GTK2/3/4]
    -syyyyyyyyydMMMysyyydMMMysyyyys-        Cursor: miku-cursor-linux (32px)
      -oyyyyyyydMMyyyyyyysosyyyyo-          Terminal: konsole 24.12.3
        ./oyyyyyyyyyyyyyyyyyyo/.            CPU: 13th Gen Intel(R) Core(TM) i5-13500 (20) @ 4.80 GHz
           `.:/oosyyyysso/:.`               GPU 1: AMD Radeon RX 7700 XT [Discrete]
                                            GPU 2: Intel AlderLake-S GT1 @ 1.55 GHz [Integrated]
                                            Memory: 9.47 GiB / 31.12 GiB (30%)
                                            Swap: 0 B / 512.00 MiB (0%)
                                            Disk (/): 32.64 GiB / 953.57 GiB (3%) - btrfs
                                            Disk (/media/yukine8/66F042E2F042B857): 750.58 GiB / 930.61 GiB (81%) - ntfs3
                                            Disk (/media/yukine8/share): 161.85 GiB / 931.50 GiB (17%) - ntfs3
                                            Local IP (wlo1): 192.168.1.130/24
                                            Locale: ja_JP.UTF-8

                                                                    
                                                                    

これを表示するコマンドは長らくneofetchだったけど、開発が終了したのでfastfetchを入れる

Ubuntuの場合は、以下のコマンドで

sudo add-apt-repository ppa:zhangsongcui3371/fastfetch
sudo apt update
sudo apt install fastfetch

fishが使いやすい

friendly interactive shellの略
打ちたいコマンドやディレクトリを補間してくれる
↓fishを設定するコマンド これをターミナルに貼り付ける

sudo apt install fish
# fishを使うようにする
echo "exec fish" >> ~/.bashrc
mkdir -p ~/.config/fish
# 最初に出てくる挨拶を空にして消す
echo "set fish_greeting" >> ~/.config/fish/config.fish

findよりfd

fdっていうのは、findコマンドの代替
マルチコアで動かすからめっちゃ速い

github.com

sudo apt install fd-find

構文も簡単でわかりやすい

# fdfind ファイルの名前 検索するディレクトリ
fdfind png /

Gwenviewより、Gthumbより、qimgv

画像ビューアの話
GwenviewはKDE Plasmaのデフォルトの画像ビューアなんだけど、マウスのスクロールで次の画像に行けない
Gthumbは行けるけど、qimgvより遅い気がする

sudo apt install qimgv qt5-image-formats-plugins

qt5-image-formats-pluginsはwebp画像を表示するために必要

fishにエイリアスを登録する

Windowsでは

py main.py

ってやればPythonを実行できたのに、Linuxだと

python3 main.py

めんどくさいね

めんどくさいので、python3をpyにする
fishでは、~/.config/fish/config.fishに、

alias py='python3'

って追記する

他にもこんなのを登録してる

alias apt='apt-fast'
alias vim='nvim'
alias vi='nvim'
alias fd='fdfind'

ターミナルはKonsoleでいい

AlacrittyとかGhosttyとかkittyとか使ったけど速さを実感できなかった