デスクトップ
デスクトップとウィンドウ操作
X11 / Wayland のウィンドウやディスプレイをコマンドで操作する。xdotool・wmctrl・xrandr・notify-send、Hyprland と i3 の操作。
ウィンドウやディスプレイ、通知などをコマンドから操作する方法です。デスクトップ環境(X11・Wayland)を使っているときや、WSL の GUI(WSLg)で役立ちます。
xdg-open既定のアプリで開く
ファイルや URL を、そのパソコンで既定のアプリで開きます。
$ 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/httpsnotify-sendデスクトップ通知を出す
デスクトップに通知を出します。長い処理が終わったときに知らせるのに便利です。
$ notify-send "ビルド完了" "エラーはありませんでした"
$ make && notify-send "OK" || notify-send -u critical "失敗"
$ notify-send -i dialog-information -t 5000 "5秒で消える通知"通知を表示するには、通知デーモン(dunst など)が動いている必要があります。
dunst軽量な通知デーモン
Ubuntu には最初から入っていません。 で入れられます。
通知を画面に表示する軽いプログラムです。
$ dunst &
$ dunstctl history-pop # 閉じた通知をもう一度出す
$ dunstctl close-allxdotoolキーボード・マウス操作を自動化する(X11)
Ubuntu には最初から入っていません。 で入れられます。
キーボード入力やマウスのクリックを、コマンドから自動で行います(X11)。
$ 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)。
$ wmctrl -l # ウィンドウの一覧
$ wmctrl -a firefox # 名前で探して前に出す
$ wmctrl -r :ACTIVE: -e 0,0,0,1280,720 # 今のウィンドウを移動・リサイズ
$ wmctrl -d # デスクトップ(ワークスペース)の一覧
$ wmctrl -s 1 # デスクトップ1へxrandr画面の解像度・配置を変える(X11)
画面の解像度や、複数のモニターの並べ方を変えます(X11)。
$ xrandr # ディスプレイと使える解像度
$ xrandr --output HDMI-1 --mode 1920x1080 --rate 60
$ xrandr --output HDMI-1 --right-of eDP-1 # 並べ方
$ xrandr --output HDMI-1 --offxset画面の省電力・キーリピート(X11)
スクリーンセーバーや省電力、キーリピートの速さを設定します(X11)。
$ xset q # 今の設定
$ xset s off -dpms # スクリーンセーバーと省電力を切る
$ xset r rate 250 40 # キーリピートの開始時間と速さxprop / xwininfo / xevウィンドウとイベントを調べる(X11)
ウィンドウの名前・クラス・大きさや、押したキーの名前を調べます(X11)。
$ xprop WM_CLASS # クリックしたウィンドウのクラス名(i3 のルールに使う)
$ xwininfo # クリックしたウィンドウの位置・大きさ
$ xev | grep keysym # 押したキーの名前を調べるxclipクリップボードを使う(X11)
Ubuntu には最初から入っていません。 で入れられます。
コマンドの出力をクリップボードにコピーしたり、クリップボードの中身を取り出したりします(X11)。
$ echo "text" | xclip -selection clipboard # コピー
$ xclip -selection clipboard -o # 貼り付け
$ xclip -selection clipboard -t image/png -i shot.png # 画像をコピーfc-list / fc-cacheフォント
入っているフォントを一覧したり、追加したフォントを読み込ませたりします。
$ 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 をコマンドから操作します。
$ 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 をコマンドから操作します。
$ 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 には最初から入っていません。 で入れられます。
画面をロックします。
$ i3lock -c 000000 # 黒い画面でロック
$ i3lock -i wallpaper.pngdmenu / wofiランチャー
Ubuntu には最初から入っていません。 で入れられます。
アプリを名前で選んで起動するランチャーです。スクリプトで選択肢を出すのにも使えます。
$ dmenu_run # X11: コマンドを選んで起動
$ echo -e "起動\n停止\n再起動" | dmenu -p "操作:" # 選択肢を出してスクリプトで使う
$ wofi --show drun # Wayland: アプリを選んで起動
$ echo -e "a\nb\nc" | wofi --dmenuwaybarWayland のステータスバー
Ubuntu には最初から入っていません。 で入れられます。
Wayland 環境で画面の上や下に表示するステータスバーです。
$ waybar &
$ pkill -SIGUSR2 waybar # 設定とスタイルを読み直す設定は ~/.config/waybar/config.jsonc と style.css です。
picomウィンドウの透過・影・アニメーション(X11)
Ubuntu には最初から入っていません。 で入れられます。
ウィンドウの透過・影・フェードなどの効果を付けます(X11)。
$ picom --backend glx -b # 裏で起動
$ picom --config ~/.config/picom/picom.conf壁紙を設定する(feh・X11)
$ feh --bg-fill ~/Pictures/wall.jpg # 画面いっぱいに
$ feh --bg-scale --randomize ~/Pictures/walls/*thunarファイルマネージャ
Ubuntu には最初から入っていません。 で入れられます。
軽いファイルマネージャーです。
$ thunar ~/Downloads &