低スペックPC 活用ノウハウ
Linux Mint (Cinnamon) の使い方 その-3
「再起動」や「シャットダウン」 が遅いことへの対策
Linux Mint (Cinnamon) の使い方 その-3
「再起動」や「シャットダウン」 が遅いことへの対策
Linux Mint で、お気に入りにある「シャットダウン」 アイコンをクリックし、デスクトップ環境から「再起動」や「シャットダウン」を行うと動作が異常に遅い。
が、端末からコマンドラインで reboot や shutdown を実行すると即座に反応してくれる。
が、端末からコマンドラインで reboot や shutdown を実行すると即座に反応してくれる。
そこで、この対策として、パネルにカスタムランチャー【systemctl poweroff】と【systemctl reboot】を追加してこの問題を解決した記録。
スポンサー リンク
目 次
1. Linux Mint(Cinnamon)での「再起動」と「シャットダウン」
デスクトップ環境での「再起動」と「シャットダウン」
「再起動」をクリックして、「再起動」が開始されるまでに【36秒】を要し、同様に「シャットダウン」 をクリックして、「シャットダウン」されるまでに【36秒】が掛かる。
2. コマンドライン経由での「再起動」と「シャットダウン」
再起動コマンド。
sudo reboot
シャットダウンコマンド。
sudo shutdown -h now
systemctl コマンドでの再起動。
systemctl reboot
systemctl コマンドでのシャットダウン。
systemctl poweroff
Systemctl コマンドとは
systemctlは、systemdの制御や管理のためのコマンドラインツールで、サービスの起動・停止・再起動や状態確認など、さまざまな操作ができるものです。
systemdを使用しているシステムでは、 systemctl コマンドを使用してマシンの電源をオフにしたり再起動することもできます。 システムを再起動するには systemctl reboot コマンドを使用し、システムをオフにするには systemctl poweroff コマンドを使用します。
3. 「再起動」や「シャットダウン」 が 遅い ことへの対策
コマンドラインで reboot や shutdown を実行すると動作が速い。
ならば、これらコマンドへの「ショートカット」アイコンをデスクトップに作ればよいのではないか。 → パネルにカスタムランチャーを作る。
ならば、これらコマンドへの「ショートカット」アイコンをデスクトップに作ればよいのではないか。 → パネルにカスタムランチャーを作る。
カスタムランチャーとは
カスタムランチャーとは、Linuxのデスクトップ環境(Linux MintのCinnamonなど)で、ユーザーが自分で作成またはカスタマイズした「アプリケーションやコマンドを起動するためのショートカット」のことを指します。
これを使うと、特定のプログラム、スクリプト、またはシステムコマンド(例:systemctl poweroffやsystemctl reboot)を、メニューやパネル、デスクトップ上から簡単に実行できます。
カスタムランチャー:
poweroff.desktopファイルを作成し、systemctl poweroffコマンドを登録。これをメニューやパネルに追加。
ショートカットの役割:
パネルに追加された「Power Off」アイコンは、systemctl poweroffコマンドへのショートカットとして機能。
クリックすると、GUIの遅延なしに直接シャットダウンが実行される。
poweroff.desktopファイルを作成し、systemctl poweroffコマンドを登録。これをメニューやパネルに追加。
ショートカットの役割:
パネルに追加された「Power Off」アイコンは、systemctl poweroffコマンドへのショートカットとして機能。
クリックすると、GUIの遅延なしに直接シャットダウンが実行される。
4. パネルにカスタムランチャーを追加する方法
カスタムランチャーは、.desktopファイルを作成することで簡単に設置できる。
これをメニューに追加した後、パネルにショートカットを配置する。
これをメニューに追加した後、パネルにショートカットを配置する。
ホームディレクトリに ~/.local/share/applications/ を作成する。
mkdir -p ~/.local/share/applications
(1) systemctl poweroff 用のランチャーを作成する
ホームディレクトリの ~/.local/share/applications/ に poweroff.desktop ファイルを作成する。
nano ~/.local/share/applications/poweroff.desktop
以下の内容を poweroff.desktop に記述する。
[Desktop Entry]
Name=Power Off
Comment=Shut down the system
Exec=systemctl poweroff
Terminal=false
Type=Application
Icon=system-shutdown
Categories=System;
・Name: メニューに表示される名前。
・Comment: 説明(任意)。
・Exec: 実行するコマンド(systemctl poweroff)。
・Terminal: 端末を開かず直接実行(false)。
・Icon: 使用するアイコン名(system-shutdownはCinnamonの標準アイコン)。
・Categories: メニューでのカテゴリ。
・Comment: 説明(任意)。
・Exec: 実行するコマンド(systemctl poweroff)。
・Terminal: 端末を開かず直接実行(false)。
・Icon: 使用するアイコン名(system-shutdownはCinnamonの標準アイコン)。
・Categories: メニューでのカテゴリ。
ファイルを保存して、実行権限を付与する。
chmod +x ~/.local/share/applications/poweroff.desktop
(2) systemctl reboot 用のランチャーを作成する
同様に、reboot.desktop ファイルを作成する。
nano ~/.local/share/applications/reboot.desktop
[Desktop Entry]
Name=Reboot
Comment=Restart the system
Exec=systemctl reboot
Terminal=false
Type=Application
Icon=system-reboot
Categories=System;
ファイルを保存して、実行権限を付与する。
chmod +x ~/.local/share/applications/reboot.desktop
(3) メニューにランチャーが表示されることを確認する
(4) パネルにランチャーを追加する
パネルにカスタムランチャーを追加するには、メニューからランチャーをパネルにピン留めする。
パネルにランチャーが追加されたら、パネル上のアイコンをドラッグして、それぞれを希望する位置に移動する。
「Power Off」ランチャーの移動。
「Reboot」ランチャーの移動。
以上で、「Power Off」と「Reboot」のカスタムランチャーがパネル内の「クイックランチャー」に配置できた。
今後はこのアイコンをクリックするだけで、「再起動」や「シャットダウン」が即座に実行出来る。
5. 確認ダイアログの追加
systemctl poweroff や systemctl reboot が即座に実行できるようになると、「誤クリック」を防止のために、確認ダイアログを追加したい場合がある。
zenityを使用すれば、ダイアログを表示するようにランチャーを修正出来る。
Exec=zenity --question --text="シャットダウンしますか?" --title="確認" && systemctl poweroff
※問題点:.desktopファイルのExec行で【zenity】を使った複雑なコマンド(&&など)を直接扱うと、環境依存の問題が発生する。
.desktopファイルのExec行で直接zenityとsystemctlを&&で連結する代わりに、シェルスクリプトを作成し、そのスクリプトを.desktopファイルから呼び出す方式にすれば、コマンドの実行フローを明確に制御でき、デバッグも簡単になる。
.desktopファイルのExec行で直接zenityとsystemctlを&&で連結する代わりに、シェルスクリプトを作成し、そのスクリプトを.desktopファイルから呼び出す方式にすれば、コマンドの実行フローを明確に制御でき、デバッグも簡単になる。
参考:zenityのインストール(通常はLinux Mintにプリインストール済み)。
sudo apt install zenity
シェルスクリプトの作成
● poweroff用のスクリプトを作成。
nano ~/poweroff.sh
以下の内容を記述する。
#!/bin/bash
zenity --question --text="シャットダウンしますか?" --title="確認"
if [ $? -eq 0 ]; then
systemctl poweroff
fi
保存後、実行権限を付与する。
chmod +x ~/poweroff.sh
● reboot用のスクリプトを作成。
nano ~/reboot.sh
以下の内容を記述する。
#!/bin/bash
zenity --question --text="再起動しますか?" --title="確認"
if [ $? -eq 0 ]; then
systemctl reboot
fi
保存後、実行権限を付与する。
chmod +x ~/reboot.sh
.desktopファイルを修正
● poweroff.desktopを編集。
nano ~/.local/share/applications/poweroff.desktop
Exec行を以下に変更する。
Exec=/home/ユーザー名/poweroff.sh
● reboot.desktopを編集。
nano ~/.local/share/applications/reboot.desktop
Exec行を以下に変更する。
Exec=/home/ユーザー名/reboot.sh
動作確認
パネルから「Power Off」または「Reboot」をクリックすると確認ダイアログが表示され、「はい」をクリックするとシャットダウンまたは再起動が実行される。
確認ダイアログを表示することで、「誤クリック」を防止しつつ「再起動」や「シャットダウン」が即座に実行できるようになった。
以上。
(2025.05.31)
スポンサー リンク