Ubuntu にログイン後、ブラウザ、zoom、ターミナルを立ち上げて、ポータルサイトにアクセス。今日のニュースを眺めて、ターミナルの新規タブを必要な分だけ追加する。一般的なLinuxユーザの業務開始のルーティンではないでしょうか?
ログイン時に自動起動したいアプリケーションを設定したい場合は、「自動起動するアプリケーションの設定」より行います。Gnome Shell の「検索ワードを入力」より自動起動と入力してアプリを起動して、「追加」ボタンをクリック、「名前」に任意の名前を設定して、「コマンド」にはアプリのコマンドを指定します。ここにzoomを追加しておけば、ログイン時にzoomが自動で起動されます。
コマンドのパスは以下のように調べます。
$ which zoom
/usr/bin/zoom
しかしここでは起動するアプリのウィンドウサイズや位置は設定できません。ZoomやTeams、Dropboxなど、普段バックグランドで起動させておくアプリなどはここで設定しておくとよいかもしれませんが、アプリのウィンドウサイズ、位置、ターミナルのタブの数などにこだわりたいのであれば、xdotool コマンドを使ったスクリプトを作成することをお勧めします。
xdotool はマウス、キーボードの入力をエミュレーションしてくれるツールです。事前にスクリプトを作っておけば、コマンド一発で自分好みのウィンドウ配置にディスクトップを設定してくれるのです。なおxdotoolは Ubuntu 21.04 の Wayland 環境ではうまく動作しないので、一旦ログアウトして Xorg 環境に変更してログインしなおして下さい。
xdotool のインストールは以下のコマンドで行います。
$ sudo apt -y install xdotool
xdotool のコマンド使用方法は以下の通りです。
マウスの操作
xdotool getmouselocation : マウスの X Y 座標を取得
xdotool mousemove X Y : マウスのポインタを X Y 座標に移動
xdotool mousemove_relative X Y : マウスのポインタを現在地から X Y 分移動、マイナス移動の場合は -- を追加
xdotool mousemove_relative -- -X -Y
xdotool click 1〜3 : マウスをクリック
xdotool mousedown 1〜3 : マウスダウン
xdotool mouseup 1〜3 : マウスアップ
xdotool click --repeat 2 1〜3 : ダブルクリック
1〜3: 1: 左ボタン 2: 中ボタン 3: 右ボタン
キーボードの操作
xdotool type "hello" : hello とタイプする
xdotool key a : a キー入力
xdotool keydown a : a キーダウン
xdotool keyup a : a キーアップ
xdotool key Ctrl+Shift+t : 同時キー操作の場合は、+ を使う
ウィンドウの操作
xdotool getdisplaygeometry : ディスプレイのジオメトリを取得
xdotool getwindowgeometry : ウィンドウのジオメトリを取得
xdotool getwindowfocus : ウィンドウをフォーカスして WindowID を取得
xdotool getactivewindow : アクティブウィンドウの WindowID を取得
xdotool windowactivate WindowID : ウィンドウをアクティブにする。
xdotool windowsize WindowID W H : ウィンドウのサイズを Width, Height (px or %) に変更
xdotool windowmove WindowID X Y : ウィンドウを X Y 座標に移動
xdotool windowminimize WindowID : ウィンドウを最小化
待機
xdotool sleep 10 : 10秒待機
xdotool sleep 0.1 : 0.1秒待機
xdotool sleep 3 click 1 : 3秒待機してクリック
ヘルプの表示
xdotool help
以下にログイン後 Firefox を起動して、Firefoxのウィンドウを最大化。Gnome Terminal の位置とサイズとタブの数を指定して起動するスクリプトを作成しました。
setup.sh
#!/bin/bash
#環境変数DISPLAYを指定
export DISPLAY=:0
#待機時間は自身のPCスペックに合わせて下さい。
#ログイン後、X Window が起動するまで5秒待機
xdotool sleep 5
#firefox を起動
firefox &
#firefox が起動するのを5秒待機
xdotool sleep 5
#firefox の Window ID を取得
WID=`xdotool getactivewindow`
#Firefox のウィンドウを最大化
xdotool windowsize ${WID} 100% 100%
#Gnome Terminal を起動
gnome-terminal
#Gnome Terminal が起動するのを3秒待機
xdotool sleep 3
#Gnome Terminal の Window ID を取得
WID=`xdotool getactivewindow`
# Gnome Terminal のウィンドウを 100px 100px の座標に移動
xdotool windowmove ${WID} 100 100
# Gnome Terminal のウィンドウサイズを1200x800pxにする
xdotool windowsize ${WID} 1200 800
#Gnome Terminal のタブの数
TABSUM=3
# タブを作成
for i in `seq 1 ${TABSUM}`;
do
xdotool key Ctrl+Shift+t
done
#先頭のタブに戻る
xdotool key Ctrl+Page_Down
これをターミナルから実行しても良いですが、先程紹介した「自動起動するアプリケーションの設定」に登録しておけば、ログイン時に自動でディスクトップ環境が設定されるようになります。
作成したスクリプトを /usr/local/bin/ に置き、「自動起動するアプリケーションの設定」に登録する。
$ chmod 755 setup.sh
$ sudo mv setup.sh /usr/local/bin/