なぜSteam DeckでGnomeを?
初投稿です。
結論から言いましょう興味本位です。そして、日本語記事がなかったので書いていきたいと思います。
Linuxを使ったことがあるほとんどの人はGnomeを使ったことがある、もしくは聞いたことがあるでしょう。Gnomeはデスクトップ環境のソフトウェアです。
出典GNOME Deveropers
UbuntuなどはGnomeを利用しているためLinuxといえばのデスクトップ環境ですね。
しかし、Steam DeckのデスクトップではなぜかKDE Plasmaを使用しています。Windowsライクでとっつきやすといえばとっつきやすいのですが、Ubuntuに慣れている人間としてはどうしてもなれないもの。
そこで考えました。
_人人人人人人人人人人人人人人人人人人_
> Steam DeckでGnome動かせばいいやん <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
というわけでやっていきます。
実際のインストール方法
fishをデフォルトのシェルにする
はじめにfishをデフォルトのシェルにしてください。
以下の方法で切り替えをすることができます。単発がいいのなら、スタートメニューから起動してください
chsh -s (which fish)
Steam Deckの読み込みモードを切る
次に、Steam Deckのreadonlyを切ります。こいつを切らないと、色々と問題が起こります。
if test (sudo steamos-readonly status) != "disabled"
sudo steamos-readonly disable
ここではifを使って、有効化されていた場合のみ実行するようにしていますが別に下のコマンドだけでも大丈夫です。
sudo steamos-readonly disable
こちらでも無効化されてたら「無効化されているよ!」って教えてくれるので問題ないです。
Steam Deckを触るに当たって覚えておきたいコマンドです。
pacmanのリポジトリのキーの初期化
pacmanリポジトリを準備するためのキーを初期化し、Arch Linuxのキーをポピュレートします。と言われてもわからないと思います。まずここにコードを記します。
sudo pacman-key --init
sudo pacman-key --populate archlinux
1つ目のコードがpacmanで証明検証を有効化するコマンドで、2つ目のコードがArch Linuxリポジトリからインストールするためのコマンドです。
Gnomeのインストール
とうとう本題に入ります。Gnomeのインストールです。しかしこれはあっけないほど一瞬で終わります。
sudo pacman --overwrite "*" -Syu gnome-keyring gnome-screenshot gnome-shell-extensions gnome-shell gnome-control-center gnome-tweaks gnome-software nautilus sushi xdg-user-dirs-gtk xdg-desktop-portal-gnome xorg-xinput
コピペして終了です。ちなみに500MBくらい必要なので容量がない人は気をつけてください。
OKOKしてると、気づいたら終わってます。インストールできまかった人は大概ネット関連かArch Linuxのキーリングだと思うのでググってみてください。ChatGPTでもいいですよ。
Gnome起動の準備をする
Steam DeckではGnomeはそのままでは起動してくれません。その上、ログイン画面に行かしてくれないので、手動でデスクトップ環境を切り替えることもできません。そこで解決するための方法として、Steam OSにKDE Plasmaを立ち上げているつもりで、gnomeを立ち上げるようにします。
startplasma-x11のバックアップを取る
sudo mv --no-clobber /usr/bin/startplasma-x11 /usr/bin/startplasma-x11.really
これでstartplasma-x11というデスクトップ環境の起動ファイルのバックアップをstartplasma-11.reallyに取りました。
startgnome-x11ファイルを作成する。
このファイルを使うとGnomeを立ち上がらせることができます。やったね。
でこれを自動化してくれるコードが有りました。
echo "\
#!/bin/sh
export XDG_SESSION_TYPE=x11
export GDK_BACKEND=x11
exec gnome-session
" | sudo tee /usr/bin/startgnome-x11
sudo chmod 755 /usr/bin/startgnome-x11
やってる内容はこうです。
#!/bin/sh
export XDG_SESSION_TYPE=x11
export GDK_BACKEND=x11
exec gnome-session
export XDG_SESSION_TYPE=x11とexport GDK_BACKEND=x11は、X11セッションを使用するための環境変数を設定します。
exec gnome-sessionは、GNOMEデスクトップ環境を開始するコマンドです。最初のコマンドは、このスクリプトを作成して/usr/bin/startgnome-x11に書き込みます。パイプで、これをsudo teeコマンドに渡してます。
2番目のコマンドは、新しく作成されたファイルに実行権限を与えるために、sudo chmod 755コマンドを使用します。
まぁよくわからなければ最初のコマンドを全部コピペして実行してくれれば構いません。
startplasma-x11ファイルをstartgnome-x11で置き換える
ラストスパートです!!
これももはや超絶楽で
sudo ln -s /usr/bin/startgnome-x11 /usr/bin/startplasma-x11
だけでいいです。
やってることはこれでstartgnome-x11をstartplasma-11に置き換えただけです。簡単!!
HiDPI 2xスケーリングを無効化する
しかしこのままではなぜか知りませんがUIが拡大表示されてしまって非常にキモいです。ほんとに。なので、拡大をしている機能を無効化します。
gsettings set org.gnome.desktop.interface scaling-factor 1
これをすると小さくなります。
...これで一旦ゲーミングモードに戻ってデスクトップモードに戻すとGnomeが立ち上がるはずです。
お疲れさまでした。
タッチ座標の変更
大事なことを伝え忘れました。タッチ座標がデフォルトで結構ずれてます。ここをタッチしたはずなのに全然別のところがタッチされた...って人がいると思います。これも解決方法があります。
xinput set-prop "FTS3528:00 2808:1015" Coordinate\ Transformation\ Matrix 1 0 0 0 1 0 0 0 1
これを実行した途端、タッチ座標五戻っているはずです。万事解決!!
ちなみにこのコマンドはデスクトップモードにするたびにしなければならないのでスタートスクリプトにしておくことをおすすめします。またセッションの途中でも突然座標リセットされてしまうことがあるので、ヤバッって思ったら直ちにこのコマンド実行しましょう。
ゲーミングモードへの戻り方
デスクトップを見てみましょう。きっとゲーミングモードに戻るアイコンが消えているでしょう。そんな人のために、説明をしましょう。
~/desktop
フォルダーに入っているはずです。もしなかったら
Steamを起動
↓
BigPictureモードにする
↓
STEAMボタンを押す。
↓
ゲーミングモードに戻るボタンを押す
そうしたらきっと戻るはずです。
これでGnomeのインストール方法の解説を終わります。やったね!
使い勝手について
しばらく使っていて、思ったことを書いていきます。
まずサイドバーがないのが結構使いづらいですね。Ubuntuとかに慣れている人種は結構辛いかもです。素のGnomeなので仕方ないです。
またFictxとの相性がGnomeと悪いことです。これは解決方法があります。が、うまくいくかは結構運に託されます。一応記事を書いておきます。
https://qiita.com/rltm/items/26edb6fedbe4a077ce09
一時期iBusを使って見たのですがフリーズしてしまい、かつデスクトップモードが起動できなくなった経験があるのでおすすめはしません。
ちなみにGnome導入でのメリットは日本語化が可能なことです。いいですねぇ。元KDEアプリも日本語化されます。
というわけでSteam DeckでのGnome導入は終わりです。
みなさんも良いGnomeライフを!!
参考:
Has anyone tried to installing Gnome on the Steam Deck?-Reddit
https://www.reddit.com/r/gnome/comments/x11sba/has_anyone_tried_to_installing_gnome_on_the_steam/