/Linuxコマンド

デスクトップ

デスクトップとウィンドウ操作

X11 / Wayland のウィンドウやディスプレイをコマンドで操作する。xdotool・wmctrl・xrandr・notify-send、Hyprland と i3 の操作。

ウィンドウやディスプレイ、通知などをコマンドから操作する方法です。デスクトップ環境(X11・Wayland)を使っているときや、WSL の GUI(WSLg)で役立ちます。

xdg-open既定のアプリで開く

ファイルや URL を、そのパソコンで既定のアプリで開きます。

bash
$ xdg-open https://example.com
$ xdg-open report.pdf
$ xdg-open .                         # ファイルマネージャで開く
$ xdg-mime query default text/html   # その種類を開く既定のアプリ
$ xdg-mime default firefox.desktop x-scheme-handler/https

notify-sendデスクトップ通知を出す

デスクトップに通知を出します。長い処理が終わったときに知らせるのに便利です。

bash
$ notify-send "ビルド完了" "エラーはありませんでした"
$ make && notify-send "OK" || notify-send -u critical "失敗"
$ notify-send -i dialog-information -t 5000 "5秒で消える通知"

通知を表示するには、通知デーモン(dunst など)が動いている必要があります。

dunst軽量な通知デーモン

Ubuntu には最初から入っていません。 で入れられます。

通知を画面に表示する軽いプログラムです。

bash
$ dunst &
$ dunstctl history-pop     # 閉じた通知をもう一度出す
$ dunstctl close-all

xdotoolキーボード・マウス操作を自動化する(X11)

Ubuntu には最初から入っていません。 で入れられます。

キーボード入力やマウスのクリックを、コマンドから自動で行います(X11)。

bash
$ xdotool type "こんにちは"                # 文字を入力する
$ xdotool key ctrl+s                       # キーを押す
$ xdotool mousemove 500 300 click 1        # 移動して左クリック
$ xdotool getactivewindow getwindowname    # 今のウィンドウの名前
$ xdotool search --name "Firefox" windowactivate   # ウィンドウを前に出す
$ sleep 3; xdotool getmouselocation        # マウスの座標

wmctrlウィンドウを一覧・移動する(X11)

Ubuntu には最初から入っていません。 で入れられます。

ウィンドウの一覧を出したり、移動・リサイズしたりします(X11)。

bash
$ wmctrl -l                       # ウィンドウの一覧
$ wmctrl -a firefox               # 名前で探して前に出す
$ wmctrl -r :ACTIVE: -e 0,0,0,1280,720   # 今のウィンドウを移動・リサイズ
$ wmctrl -d                       # デスクトップ(ワークスペース)の一覧
$ wmctrl -s 1                     # デスクトップ1へ

xrandr画面の解像度・配置を変える(X11)

画面の解像度や、複数のモニターの並べ方を変えます(X11)。

bash
$ xrandr                                   # ディスプレイと使える解像度
$ xrandr --output HDMI-1 --mode 1920x1080 --rate 60
$ xrandr --output HDMI-1 --right-of eDP-1  # 並べ方
$ xrandr --output HDMI-1 --off

xset画面の省電力・キーリピート(X11)

スクリーンセーバーや省電力、キーリピートの速さを設定します(X11)。

bash
$ xset q                     # 今の設定
$ xset s off -dpms           # スクリーンセーバーと省電力を切る
$ xset r rate 250 40         # キーリピートの開始時間と速さ

xprop / xwininfo / xevウィンドウとイベントを調べる(X11)

ウィンドウの名前・クラス・大きさや、押したキーの名前を調べます(X11)。

bash
$ xprop WM_CLASS             # クリックしたウィンドウのクラス名(i3 のルールに使う)
$ xwininfo                   # クリックしたウィンドウの位置・大きさ
$ xev | grep keysym          # 押したキーの名前を調べる

xclipクリップボードを使う(X11)

Ubuntu には最初から入っていません。 で入れられます。

コマンドの出力をクリップボードにコピーしたり、クリップボードの中身を取り出したりします(X11)。

bash
$ echo "text" | xclip -selection clipboard     # コピー
$ xclip -selection clipboard -o                # 貼り付け
$ xclip -selection clipboard -t image/png -i shot.png   # 画像をコピー

fc-list / fc-cacheフォント

入っているフォントを一覧したり、追加したフォントを読み込ませたりします。

bash
$ fc-list : family | sort -u | grep -i noto     # 入っているフォント
$ fc-list :lang=ja family                        # 日本語が使えるフォント
$ fc-match monospace                             # monospace として使われるフォント
$ mkdir -p ~/.local/share/fonts && cp *.ttf ~/.local/share/fonts/
$ fc-cache -fv                                   # 追加したフォントを読み込む

hyprctlHyprland を操作する

Ubuntu には最初から入っていません。 で入れられます。

Wayland のウィンドウマネージャー Hyprland をコマンドから操作します。

bash
$ hyprctl monitors               # ディスプレイ
$ hyprctl clients                # ウィンドウの一覧(class や title)
$ hyprctl activewindow
$ hyprctl dispatch workspace 2   # ワークスペース2へ
$ hyprctl dispatch exec kitty    # アプリを起動
$ hyprctl dispatch killactive
$ hyprctl reload                 # hyprland.conf を読み直す
$ hyprctl keyword general:gaps_out 10   # 設定をその場で変える

設定は ~/.config/hypr/hyprland.conf に書きます。

i3-msgi3 を操作する

Ubuntu には最初から入っていません。 で入れられます。

タイル型のウィンドウマネージャー i3 をコマンドから操作します。

bash
$ i3-msg workspace 3
$ i3-msg 'exec firefox'
$ i3-msg 'layout tabbed'
$ i3-msg reload                  # 設定を読み直す
$ i3-msg -t get_tree | jq '..|.name? // empty'   # ウィンドウの一覧

設定は ~/.config/i3/config に書きます。Mod+Shift+R で再読み込み、Mod+Enter で端末、Mod+D でランチャーが既定です。

i3lock画面をロックする

Ubuntu には最初から入っていません。 で入れられます。

画面をロックします。

bash
$ i3lock -c 000000            # 黒い画面でロック
$ i3lock -i wallpaper.png

dmenu / wofiランチャー

Ubuntu には最初から入っていません。 で入れられます。

アプリを名前で選んで起動するランチャーです。スクリプトで選択肢を出すのにも使えます。

bash
$ dmenu_run                          # X11: コマンドを選んで起動
$ echo -e "起動\n停止\n再起動" | dmenu -p "操作:"       # 選択肢を出してスクリプトで使う
$ wofi --show drun                   # Wayland: アプリを選んで起動
$ echo -e "a\nb\nc" | wofi --dmenu

waybarWayland のステータスバー

Ubuntu には最初から入っていません。 で入れられます。

Wayland 環境で画面の上や下に表示するステータスバーです。

bash
$ waybar &
$ pkill -SIGUSR2 waybar     # 設定とスタイルを読み直す

設定は ~/.config/waybar/config.jsonc と style.css です。

picomウィンドウの透過・影・アニメーション(X11)

Ubuntu には最初から入っていません。 で入れられます。

ウィンドウの透過・影・フェードなどの効果を付けます(X11)。

bash
$ picom --backend glx -b     # 裏で起動
$ picom --config ~/.config/picom/picom.conf

壁紙を設定する(feh・X11)

bash
$ feh --bg-fill ~/Pictures/wall.jpg     # 画面いっぱいに
$ feh --bg-scale --randomize ~/Pictures/walls/*

thunarファイルマネージャ

Ubuntu には最初から入っていません。 で入れられます。

軽いファイルマネージャーです。

bash
$ thunar ~/Downloads &