Linux Mint 「再起動」や「シャットダウン」 が 異常に遅い

低スペックPC 活用ノウハウ
Linux Mint (Cinnamon) の使い方 その-3
「再起動」や「シャットダウン」 が遅いことへの対策
 
Linux Mint で、お気に入りにある「シャットダウン」 アイコンをクリックし、デスクトップ環境から「再起動」や「シャットダウン」を行うと動作が異常に遅い。
が、端末からコマンドラインで reboot や shutdown を実行すると即座に反応してくれる。
 
上記の手順で作成したランチャーは、メニューの「システム管理」カテゴリに自動的に表示される
 
そこで、この対策として、パネルにカスタムランチャー【systemctl poweroff】と【systemctl reboot】を追加してこの問題を解決した記録。
 
 

 

スポンサー リンク

 

 
 
 
 
 
1. Linux Mint(Cinnamon)での「再起動」と「シャットダウン」
 
デスクトップ環境での「再起動」と「シャットダウン」
 
お気に入りにある「シャットダウン」アイコンをクリックする。
お気に入りにある「シャットダウン」をクリックする
 
「シャットダウン」画面が表示されるので、「再起動」または「シャットダウン」をクリックする。
「シャットダウン」画面が表示され、「サスペンド」、「再起動」、「シャットダウン」が選択できる
 
 
「再起動」をクリックして、「再起動」が開始されるまでに【36秒】を要し、同様に「シャットダウン」 をクリックして、「シャットダウン」されるまでに【36秒】が掛かる。
 
 
 
2. コマンドライン経由での「再起動」と「シャットダウン」
 
クイックランチャーにある「端末(ターミナルとも呼ぶ)」アイコンをクリックすると・・・。
クイックランチャーにある「端末」アイコンをクリックする
 
「端末(ターミナル)」画面が表示され、【コマンド】が入力可能となる。
「端末(ターミナル)」画面が表示され、【コマンド】が入力可能となる
 
再起動コマンド。
sudo reboot
 
再起動コマンドを入力してみると、即座に反応し再起動が始まる。
再起動コマンドを入力してみると、即座に反応し再起動が始まる
 
シャットダウンコマンド。
sudo shutdown -h now
 
シャットダウンコマンドを入力すると、即座にシャットダウンされる。
シャットダウンコマンドを入力すると、即座にシャットダウンされる
 
systemctl コマンドでの再起動。
systemctl reboot
 
systemctl コマンドでも、即座に再起動が始まる。
systemctl コマンドでも、即座に再起動が始まる
 
systemctl コマンドでのシャットダウン。
systemctl poweroff
 
systemctl コマンドでも、即座にシャットダウンされる。
即座にシャットダウンされる。
 
 

 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の遅延なしに直接シャットダウンが実行される。
 
 
 
4. パネルにカスタムランチャーを追加する方法
 
カスタムランチャーは、.desktopファイルを作成することで簡単に設置できる。
これをメニューに追加した後、パネルにショートカットを配置する。
 
ホームディレクトリに ~/.local/share/applications/ を作成する。
mkdir -p ~/.local/share/applications
 
ホームディレクトリに ~/.local/share/applications/ を作成する
 
 
(1) systemctl poweroff 用のランチャーを作成する
 
ホームディレクトリの ~/.local/share/applications/ に poweroff.desktop ファイルを作成する。
nano ~/.local/share/applications/poweroff.desktop
 
poweroff.desktop ファイルを作成する
 
以下の内容を 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: メニューでのカテゴリ。
 
ファイルを保存して、実行権限を付与する。
chmod +x ~/.local/share/applications/poweroff.desktop
 
実行権限を付与する
 
 
(2) systemctl reboot 用のランチャーを作成する
 
同様に、reboot.desktop ファイルを作成する。
nano ~/.local/share/applications/reboot.desktop
 
同様に、reboot.desktopファイルを作成:
 
以下の内容を reboot.desktop に記述する。
以下の内容を 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) メニューにランチャーが表示されることを確認する
 
上記の手順で作成したランチャーは、メニューの「システム管理」カテゴリに自動的に表示される。
上記の手順で作成したランチャーは、メニューの「システム管理」カテゴリに自動的に表示される
 
メニューの検索バーで「Power Off」や「Reboot」と入力して、作成したランチャーが表示されることを確認してみる。
メニューの検索バーで「Power Off」や「Reboot」と入力して、ランチャーが表示されることを確認してみる
 
メニューの検索バーで「Power Off」や「Reboot」と入力して、ランチャーが表示されることを確認してみる
 
 
(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ファイルから呼び出す方式にすれば、コマンドの実行フローを明確に制御でき、デバッグも簡単になる。
 
参考: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」をクリックすると確認ダイアログが表示され、「はい」をクリックするとシャットダウンまたは再起動が実行される。
 
「Reboot」の確認ダイアログ。
「Reboot」の確認ダイアログ
 
「Power Off」の確認ダイアログ。
「Power Off」の確認ダイアログ
 
 
確認ダイアログを表示することで、「誤クリック」を防止しつつ「再起動」や「シャットダウン」が即座に実行できるようになった。
 

 

以上。
(2025.05.31)

 

 

スポンサー リンク

 

             

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.