はじめに
Ubuntuでシェルスクリプトや独自コマンドをDock(画面下のタスクバー)から起動できるようにする方法をまとめました。
例として、Stable Diffusion WebUIの起動スクリプトをDockに登録します。
環境
- Ubuntu 22.04 / 24.04(GNOME)
- デスクトップ環境:GNOME Shell
手順
1. .desktopファイルを作成
~/.local/share/applications/に.desktopファイルを作成します。
nano ~/.local/share/applications/up_sd.desktop
以下の内容を記述:
[Desktop Entry]
Version=1.0
Type=Application
Name=Stable Diffusion WebUI
Comment=Launch Stable Diffusion WebUI
Exec=/home/your-username/path/to/your-script.sh
Icon=/home/your-username/Pictures/icons/your-icon.png
Terminal=true
Categories=Graphics;Development;
各項目の説明
| 項目 | 説明 |
|---|---|
Name |
アプリケーション名(表示名) |
Comment |
アプリの説明文 |
Exec |
実行するコマンドやスクリプトのフルパス |
Icon |
アイコンのフルパス、またはシステムアイコン名 |
Terminal |
true: ターミナルで実行 / false: バックグラウンド実行 |
Categories |
アプリケーションのカテゴリ |
2. 実行権限を付与
chmod +x ~/.local/share/applications/up_sd.desktop
3. Dockにピン留め
- アプリケーション一覧(Super キー押下)を開く
- 作成したアプリ名で検索
- アプリを起動
- Dockに表示されたアイコンを右クリック
- 「お気に入りに追加」を選択
アイコンの設定
カスタム画像を使う場合
PNG、SVG、JPGなどの画像ファイルをフルパスで指定:
Icon=/home/takuya/Pictures/icons/my-app.png
システムアイコンを使う場合
よく使われるシステムアイコン名:
Icon=applications-graphics # グラフィック系
Icon=utilities-terminal # ターミナル
Icon=python # Python
Icon=computer # コンピューター
Icon=image-x-generic # 画像ファイル
システムアイコンの一覧は以下で確認できます:
ls /usr/share/icons/hicolor/*/apps/
ls /usr/share/pixmaps/
アイコンが反映されない場合
キャッシュが原因で変更が反映されないことがあります。以下を試してください。
キャッシュを更新
update-desktop-database ~/.local/share/applications/
GNOMEシェルを再起動(X11の場合)
Alt + F2 を押して r と入力し、Enterキー
Dockから再登録
- Dockのアイコンを右クリック →「お気に入りから削除」
- アプリケーション一覧から再度検索して起動
- 「お気に入りに追加」
最終手段
ログアウト → ログイン でセッションをリフレッシュ
実用例
ターミナルで特定ディレクトリを開く
[Desktop Entry]
Type=Application
Name=プロジェクトフォルダ
Exec=gnome-terminal --working-directory=/home/takuya/Projects
Icon=utilities-terminal
Terminal=false
Dockerコンテナを起動
[Desktop Entry]
Type=Application
Name=Dev Container
Exec=/bin/bash -c "docker compose -f /path/to/docker-compose.yml up -d"
Icon=docker
Terminal=false
まとめ
-
.desktopファイルを~/.local/share/applications/に作成 -
Execに実行コマンド、Iconにアイコンを指定 - アプリケーション一覧から起動してDockにピン留め
- 変更が反映されない場合はキャッシュ更新 or 再ログイン
これでシェルエイリアスのように使っていたスクリプトも、GUIから簡単に起動できるようになります!