ウインドウマネージャーのSwayが面白そうだなってFedora Spinで入れてみたらAtomicデスクトップ版の方いれちゃってあれ?ってなったんだけど、Atomicデスクトップはこれはこれで面白い構想だなっておもってそのまま使うことにしました。
使い方が全然違うので、入れ直したときのために使い方をちょっとずつメモしていこうと思います。
VSCodeでMarkdownをかけることを目指そう
NotePCだとやっぱり画面が狭くて通常のウインドウマネージャーだと画面が狭いので、タイル型のSwayでちょっとでも快適に作業ができないかな?って思ったのが出発点。
ライブラリ本体はやっぱり大画面x2が付いてるデスクトップでの開発効率に負けるので、おふとぅん(‘、3[___]上のNotePCでREADME.md書くとかマニュアル書く系の作業が快適にできるようにというのを目標にしました。
というわけでVSCodeで日本語入力が快適にできれば一旦OK。
まずはSwayの最低限操作
初めてのSwayだとまずはここから戸惑います😇
キー | 動作 |
---|---|
Win+Enter | ターミナル(foot)を開く |
Win+Shift+Q | アクティブなウインドウを閉じる |
Win+D | ランチャーを開く |
Win+カーソルキー | アクティブなウインドウを変更 |
Win+Shift+カーソルキー | ウインドウの並べ替え(アクティブなウインドウを移動) |
Win+F | フルスクリーン化トグル |
Win+数字 (テンキーはダメ) |
仮想デスクトップの切り替え(Swayの左上に1,2って数字があるやつ) |
Win+Shift+数字 (テンキーはダメ) |
アクティブなウインドウを別の仮想デスクトップへ移動 |
(ウインドウがない状態で) Win+Shift+C |
Swayをリロードしてコンフィグ設定を反映 |
ターミナル(foot)でのコピペ
(Webブラウザでコピーした内容をCtrl+Vで貼り付けられず焦った…)
Ctrl+Shift+C | コピー |
Ctrl+Shift+V | 貼り付け |
中央に丸い円?
真ん中にVerifyingと書かれた丸い円がでてる状態になって、キーを打つとWrongって怒られてなんだろこれ?って思ったらスクリーンロックでした。
キー入力中もずっとチェックしててWrongってなって焦りますが、ログインパスワードを打ち終わるとちゃんとデスクトップ画面に戻れました。
キーボード配列が英語_(:3」∠)_
さてここから初期設定、まずはキーボード配列を直します。
普通にインストール時にロケール設定あったと思うんですけどね……
私もvim使いなんですがviは記号部分を結構使うので、設定が終わるまではnanoオススメ。
コチラの記事で直し方を知りました。
https://zenn.dev/yurarin/articles/1b0e39dacb65fb
$ nano /etc/sway/config
input * {
xkb_layout "jp"
xkb_variant ","
}
いきなり記号が結構出てきちゃうのでUS配列キーボードを使い慣れてない人はここから大変😇
配置が違う部分の変換表おいておきますね
打ちたいUS配列 | @ | ^ | & | * | ( | ) | _ | + | [ | ] | { | } | ' | : | " |
日本語キー | " | & | ' | ( | ) | (Shift+0) | = | ~ | @ | [ | ` | { | : | + | * |
先ほどのconfigを日本語キーボードで打とうとすると次のようになります。
input ( `
xkb_layout *jp*
xkb_variant *,*
{
viだとさらにこの後:wqって打とうとすると:が+なので……ってなるので、この設定が終わるまでnanoを使ってCtrl+w,Ctrl+xで保存してしまった方が無難だと思います。
設定が終わったらWin+Shift+Cで設定のリロードをすればすぐに反映されますし、書式にミスがあればちゃんとエラーを出して教えてくれます。
ターミナル(foot)の文字が小さい(*ω*)
NotePCだと文字が小さ……デフォルト8だと?
見やすさ優先で16まで大きくしました。
$ mkdir ~/.config/foot
$ cp /etc/xdg/foot/foot.ini ~/.config/foot/foot.ini
$ vi ~/.config/foot/foot.ini
// font=みたいな行がコメントアウトされているのでコメントを外してサイズを変更
font=monospace:size=16
パッケージを入れる
欲しいパッケージを順次いれていきます。Atomicデスクトップはパッケージを追加するごとにOSがバージョン管理されたレイヤになるって構造のようです。
パッケージ管理とOS管理が結びついていて、dnfのような従来のパッケージマネージャーはOS管理には使いません。OSとOS周りのパッケージ管理にはrpm-ostreeというコマンドを使います。
// OSの更新
$ rpm-ostree update
// OSレイヤ(≒入ってるパッケージ)の確認
$ rpm-ostree status
// パッケージのインストール(OSの再起動が必要)
$ rpm-ostree install パッケージ名(.rpmもイケる)
// パッケージのアンインストール(OSの再起動が必要)
$ rpm-ostree uninstall パッケージ名
OSの更新は最初にやっておきましょう。あといつもの。
$ rpm-ostree update
$ LANG=C xdg-user-dirs-update --force
デスクトップフォルダの日本語表記(最近のWindowsは見た目だけなのでいいんだけどLinuxは未だ本当に日本語ディレクトリにしちゃうのがダメよね)と表計算のオートコレクト(特に”)は絶滅して欲しい……
アプリケーションはflatpakを使いますが、初期状態だとfedoraのリポジトリしか見ておらずアプリケーションが少ないのでflathubを見るようにするのがオススメです。
$ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
ベースはFedoraなので基本的なOS管理ツールはだいたい入ってます。
追加で入れたのは次の通り。
$ rpm-ostree install vim
$ rpm-ostree install fctix5-mozc
$ flatpak install org.keepassxc.KeePassXC
// (ここでflatpakでVSCodeを入れてはイケナイ!)
// [おまけ]
$ flatpak install com.valvesoftware.Steam
日本語IMはfctix5系でないとまともに動きません。でもfcitx5でmozcが動いてくれるので普段使いは問題無い感じです。fcitx5-skkも普通に動いたし楽しかったけど今回はパスで😇ムズイ
flatpakで入れたアプリは次のように長いコマンドが必要になります。
$ flatpak run com.valvesoftware.Steam
面倒なので.bashrcあたりにaliasを書いておくといいと思います。ついでにコマンドの最後に&をつけてバックグラウンド実行するようにしておくと便利です。
fcitx5-mozcの設定
コンフィグを開いてmozcを有効にします。
$ fcitx5-configtool
右上のペインにあるmozcを左側に持って行ってApplyすれば、いつもの半角/全角キーで日本語切り替えができます。
fcitx5はinstallしただけだと自動起動しないので、sway起動時に一緒に起動するようにしておきましょう。
$ mkdir -p ~/.config/sway/config.d
$ vi ~/.config/sway/config.d/fcitx5.conf
exec fcitx5 -r -d
VSCodeを入れる
flatpakにあるVSCodeを入れると日本語が入力できませんので、本家が配っているrpmパッケージをDLしてインストールします。
// VSCodeのサイトから拾ってくる
$ firefox &
$ rpm-ostree install code-1.96.0-1733888253.el8.x86_64.rpm
LocalPackageという形でインストールされます。
完了!
firefoxやgitは最初から入っているし、NASアクセスもsmbclientがあるのでOK。
最近のVSCodeは最初からCtrl+K VでMarkdownPreviewが出てくるので(でも拡張入れた方が快適)、後は日本語入力さえちゃんと動けばMarkdownをガシガシ書くだけです。
Happy sway life!
作業環境を作る
最近のプログラム言語はパッケージマネージャーがついてることが当たり前になっていて、システムグローバルにライブラリを追加する方法に加えプロジェクトローカルでライブラリを追加したりバージョン管理したりできるようになっています。
が、システム自体が個別であればグローバルで入れてもいいじゃない。
そう、コンテナならね!
という感じのコンセプトっぽいAtomicデスクトップの肝心要、toolboxによる作業環境管理です。
toolbox
基本的にはDockerと同じような使い方みたいで-itやattachの代わりにenterを使う感じですね。追加でディレクトリバインドをいい感じにやってくれるみたいです。
作業環境の中では普通にdnfも使えるので、作業環境の中でゴリゴリシステムを汚しながら環境を作って、作業が終わったり失敗したらrmでポイする運用です。
// 作業環境を作る
// rlease等を設定しなければシステムと同じバージョンのFedoraイメージが使われる
$ toolbox create <name> [--release <release> --distro <distro> --image <image>]
// createした作業環境一覧
$ toolbox list
// 作業環境に入る
$ toolbox enter <name>
(作業環境を抜けるには、中のシェルでexitコマンドかCtrl+D)
// 作業環境を削除する
$ toolbox rm <name>
// DLしてキャッシュされているcreateに使われるイメージを削除する
$ toolbox rmi <name>