cafegale(LeafCage備忘録)

LeafCage備忘録(はてなダイアリー)と統一しました。

xubuntuの初期設定

swapの設定

$ sudo fallocate -l 2G /var/swapfile2
$ sudo chmod 600 /var/swapfile2 
$ sudo mkswap /var/swapfile2
$ sudo swapon /var/swapfile2
$ swapon -s

terminalrc

  • 青がやけに見にくいので、カラーを#0039aa;から#4499ffに変更。
  • ColorSelection行を削除。

Xfce4-terminalのカラースキームをカスタマイズする

gcc, make のインストール(Homebrewのインストールにも必要)

$ sudo apt install build-essential

Homebrew インストール(以後、CUI系は基本的にbrewを通してインストールする)

brew caskGUIアプリケーションをインストールするコマンド)は2020/04/26現在MacOSでしかサポートされていない。
公式サイトThe Missing Package Manager for macOS (or Linux) — Homebrew

$ sudo apt install git curl
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Homebrew on Linux — Homebrew Documentation

brewでインストール
  • fish
  • fzf
  • python3, poetry
  • w3m

ソフトウェアでアプリのインストール

CopyQ
クリップボード管理
GVim
エディタ
Redshift
ブルーライトカット
Remmina
リモートデスクトップ

キーコンフィグ

要件:

  • CapsLock -> 全角半角、変換 -> Esc、無変換 -> Ctrl、カタカナひらがな -> Ctrl
  • キーボードを付け外しし直しても効果が継続すること

結論:xkbのrulesを使う

  1. /usr/share/X11/xkb/symbols/に任意のシンボル設定ファイル(例えばmysymbol)を作成
  2. /usr/share/X11/xkb/rules/evdevを編集し、! option = symbols行の後に先程のmysymbolを付け加えるオプションを作る(例:mykey = +mysymbol*1
  3. /etc/X11/xorg.conf.d/90-mykey.confを作成。先程のオプションを設定する
  4. 設定はtouch /etc/default/keyboad;/etc/init.d/console-setup restartで反映されるっぽい?

/usr/share/X11/xkb/symbols/mysymbol

partial modifier_keys
xkb_symbols "mysymbol" {
  key.type = "ONE_LEVEL";
  replace key <MUHE> { [ Control_L ] };
  replace key <HKTG> { [ Control_R ] };
  modifier_map Control { <MUHE> };
  modifier_map Control { <HKTG> };
  replace key <HENK> { [ Escape ] };
  replace key <CAPS> { [ Zenkaku_Hankaku ] };
};

/etc/X11/xorg.conf.d/90-mykey.conf

Section "InputClass"
    Identifier "(適当な説明)"
    MatchIsKeyboard "on"
    Option "XKbOptions" "mykey"
EndSection

参考:

※ちなみにxkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY 2> /dev/nullsetxkbmap -symbols pc+jp+inet(evdev)+mysymbolする方法はキーボードをUSBから外すと無効になるので駄目だった。
localectl で変更する方法もあるみたい。何か問題が起きたら次はこれを試す。


キーコンフィグ失敗例:

  • xmodmap
    • キーボード付け直し要件を満たさなかった
    • xmodmapはかなりいいところまでいっていて、キーボードを検出するたびロードし直すようなことをしたら要件を満たせそう
  • loadkeys (showkey, dumpkeys)、/etc/default/keyboardXKBOPTIONSの編集設定
  • xkeysnail, xremap
    • 導入が面倒
    • キーボード付け直し要件を満たさなかった
    • バックグラウンドで常に走らせておく必要がある。
  • xbindkeys & xdotool

*1:ファイルを直接編集するのは嫌だったけれど、他のルールファイルを読み込ませる方法がわからなかった。Linuxシステムではevdevルールが最も一般的に使用されるらしい