0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ArchLinuxでCLI開発環境を整える

Last updated at Posted at 2025-04-28

CLI環境を作る

起動時にCLIが立ち上がるための設定

sudo vim /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT=""textを追加。
起動時に、スプラッシュスクリーン(通常はディストリビューションのロゴなど)を表示したい人は、splashを追加できる。

  • /etc/default/grubファイルの変更をGRUBブートローダーに反映
sudo grub-mkconfig -o /boot/grub/grub.cfg
  • 現状、システム起動のデフォルトターゲットに何が指定されているのかを知る
sudo systemctl get-default

通常、GUI環境を使用している場合は、graphical.targetと表示され、そしてそれは、multi-user.targetを包含している。しかし、CLI環境オンリーで十分だという人にとっては、システム起動時間の短縮やリソース効率の向上の観点から、デフォルトターゲットをmulti-user.targetに切り替えることをおすすめできる。

sudo systemctl set-default multi-user.target
  • GUI環境に戻したいときは
sudo systemctl set-default graphical.target
  • 日本語の表示、入力にすぐれたターミナルエミュレータをインストールする
    以下、fbtermでの実装で失敗した。まず、多くのデスクトップ環境で使われているibusとfbtermを連携させるのに必要なibus-mozcをAURパッケージからyayコマンドでインストールするはずが、ビルドに失敗する。また、kmsconでの日本語表示には、成功しているため、以降、土台をkmsconに置く。

kmscon

kmsconはUnicode/UTF-8 互換で動くので日本語表示ができる。

kmsconのインストール

yay -S kmscon

日本語フォントをインストール

sudo pacman -S ttf-dejavu otf-ipafont

フォントを適用

/etc/fonts/conf.d/99-kmscon.conf
私は、フォントにNerdFontのAgaveを使っているので、以下のようになる。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match>
  <test name="family"><string>monospace</string></test>
  <edit name="family" mode="prepend" binding="strong">
    <string>Agave Nerd Font Mono</string>
    <string>DejaVu Sans Mono</string>
    <string>IPAGothic</string>
  </edit>
</match>
</fontconfig>

キーボードレイアウトを設定

/etc/kmscon/kmscon.conf

xkb-layout=jp

tty2以降をkmsconに設定

あとで、kmsconvt@tty3.serviceを作るため、スキップしてもよい。

sudo ln -s /usr/lib/systemd/system/kmsconvt\@.service /etc/systemd/system/autovt\@.service
  • kmsconvt@.serviceを有効化
    autovt@tty3.servicekmsconvt@.service へのシンボリックリンクなため、元のサービスを有効化することで、autovt@tty3.service も間接的に有効になる。
sudo systemctl enable kmsconvt@tty3.service

kmsconをtty3にセットする

# テンプレートサービスを別名でコピー
sudo cp /usr/lib/systemd/system/kmsconvt@.service /etc/systemd/system/kmsconvt@tty3.service

kmscon(tty)上で日本語入力を可能にする

以下、uimでmozcを使用する設定

  • インストール
yay -S uim

~/.uim

(define default-im-name 'mozc)
(define-key generic-on-key? '("<Control> "))
(define-key generic-off-key? '("<Control> "))

あとは、以下を~/.bashrcなどに書けばOK

uim-fep

これにより、Ctrl+Spaceキーで日本語入力の切り替えが可能になる。

CLI環境で使えるツール一覧

discordoをCLI環境で使えるようにする

何度か試行したが、できなかった。
まず、discordトークンは、機密情報なので、libsecretかgnome-keyringかkwalletを使用したい。
GUIではアンロックは容易だが、CLIでのキーリングのアンロックがサポートされていないシークレットサービスも少なくない。
ということで、まずは、CLI上でキーリングをアンロックし、discordoでログインできるかどうかを確認する必要がある。openscパッケージに同封されているpkcs11-toolよりCLIでのアンロックを試したが、あれは、gnome-keyringで使えるようなものだった。CLIではgnome-keyring-daemonが起動できないため、失敗に終わった。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?