2025年4月20日日曜日

サポートが終わってしまう初代 Surface GOにDebian GNU/Linuxをインストールしてみる

Surface GOのWindowsサポートが終わってしまうのでDebian GNU/Linuxを入れてみました。
趣味でデスクトップはMATEにしてましたがGNOMEに変えました。

いるもの。

USB Type CのUSBハブ
16GB程度のUSBメモリ2個
USBキーボード
USBマウス

RufusなどでUSBメモリを下記のisoイメージで起動可能にする。


あと、無線LANやBluetoothのドライバを動作させるためのファームウェアをダウンロードしておき、FAT32とかでフォーマットしておいたもう一つのUSBに展開しておく。


(インストール)

ファームウェアを要求されたら読み込むようにする。

インストール完了したらUSBメモリをすべて抜き、USBマウスとキーボードを挿した状態にする。

(以下インストール後の作業)

apt-get update

apt-get install curl

echo deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main | sudo tee /etc/apt/sources.list.d/google-chrome.list

apt-get install google-chrome-stable

apt-get install blueman

# Tangoアイコンが好き
apt-get install tango-icon-theme

# L2TPでVPNやりたいから
apt-get install network-manager-l2tp-gnome

# VPN越しにリモートデスクトップやりたいから
apt-get install remmina

--- 以下はMATEの場合 --
apt-get install xinput

apt-get install onboard

スクリーンセーバーでonboardを使えるようにする

gsettings set org.mate.screensaver embedded-keyboard-enabled 'true'
gsettings set org.mate.screensaver embedded-keyboard-command 'onboard -e'

/etc/lightdm/lightdm-gtk-greeter.conf でonboardを呼び出す設定を作成
keyboard=/usr/bin/onboard

/opt に rotate-screen.sh という名前で以下のシェルスクリプトを作る

#!/bin/bash
rotation=$(xrandr -q --verbose | grep eDP | egrep -o "(normal|right)" | head -1)
if [ "$rotation" = "normal" ] ; then
    xrandr -o right
    xinput set-prop 'ELAN9038:00 04F3:261A touch' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1
else
    xrandr -o normal
    xinput set-prop 'ELAN9038:00 04F3:261A touch' 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
fi

作ったシェルスクリプトに実行権限をつける

chmod a+x /opt/rotate-screen.sh

MATEが起動したときに必ずrotate-screen.shを起動するように設定。
mate-session-propertiesを起動して/opt/rotate-screen.sh を登録する。
これをしておかないと起動したときに画面とタッチがずれて困るときがある。

デスクトップに以下の内容のファイル(rotate.desktop)を置く。
このアイコンをダブルクリックすれば画面が90度回転する。

[Desktop Entry]
Type=Application
Terminal=true
Name=rotate-screen
Exec=/opt/rotate-screen.sh
StartupNotify=false