如何在 Ubuntu 上管理啟動應用程序
我們經常發現自己在登錄系統後立即啟動某些程序。每次 Ubuntu 啟動時手動搜索和啟動這些程序是一個耗時的過程。
某些 Linux 程序設置為在啟動時啟動。但是,也可以將您喜歡的程序、腳本或命令設置為在 Ubuntu 啟動時自動運行。
使用 systemd 在啟動時啟動程序
systemd,也稱為系統或服務管理器,是 Ubuntu 啟動時啟動的第一個進程。默認情況下,大多數 Linux 程序通常都包含 systemd 服務。
使用 systemd,您還可以將程序配置為在系統啟動時自動啟動。您可以使用 systemctl 命令來管理 systemd 服務。
要檢查您的程序是否存在 systemd 單元文件,請使用以下命令:
systemctl list-unit-files | grep <program-name>
假設您想在系統啟動時自動啟動 Apache。使用以下命令檢查它是否存在 systemd 單元文件:
systemctl list-unit-files | grep apache2
如果存在,您將看到如下輸出:
現在,要將 Apache 設置為在啟動時自動啟動,請運行:
sudo systemctl enable apache2
要驗證是否啟用了 Apache 服務以在啟動時運行,請使用以下命令:
sudo systemctl is-enabled apache2
如果服務設置為在系統啟動時自動運行,則輸出應返回已啟用。
要在 Ubuntu 啟動時阻止程序自動運行,請使用以下命令禁用其服務:
sudo systemctl disable apache2
如果某個程序未附帶 systemd 單元(系統服務),您可以創建其 systemd 單元文件以在系統啟動時運行它。要創建一個單元文件,比方說test.service,請運行以下命令:
sudo nano /lib/systemd/system/test.service
然後,在單元文件中添加以下代碼行。確保通過將路徑添加到您希望在啟動時運行的程序來更改ExecStart指令的值。
除了程序之外,您還可以通過在ExecStart指令中指定其路徑來在啟動時運行命令或腳本。
[Unit]
Description=This is a test service file.
[Service]
Type=simple
ExecStart=<Full-Path-of-Command-or-Script-or-Program>
[Install]
WantedBy=multi-user.target
完成後,保存並關閉單元文件。
然後,為這個單元文件分配必要的權限:
sudo chmod 644 /etc/systemd/system/test.service
現在 systemd 單元文件已創建,您可以使用上述命令在啟動時管理您的程序。
在 Ubuntu 上使用 GNOME 的啟動應用程序
在啟動時啟動常用程序的另一種方法是使用 GNOME 的啟動應用程序。您可以通過按Super並鍵入“啟動應用程序”從應用程序菜單啟動它。或者您可以通過按Alt + F2並在“運行命令”對話框中鍵入以下命令來啟動它:
gnome-session-properties
這將啟動“啟動應用程序首選項”窗口,您將在其中看到已設置為在啟動時運行的程序列表。
要將新程序添加到列表中,請單擊“添加” 。這將打開“添加啟動程序”窗口。
在“名稱”字段中,鍵入要添加的程序的名稱。然後在命令字段中,提供程序的可執行二進製文件的完整路徑。
要查找程序的完整路徑,請使用後跟程序名稱的 which 命令。例如,要查找 Slack 的可執行二進製文件,命令為:
which slack
或者,您可以單擊瀏覽並找到程序可執行文件。您還可以添加與程序相關的任何評論,但這是可選的。完成後,單擊添加。
您現在將看到啟動程序列表中列出的程序。當您登錄到您的 Ubuntu 計算機時,所選程序將自動啟動。
在 Ubuntu 上延遲啟動程序
可能有些應用程序您希望在啟動時自動啟動,但您並不需要在登錄後立即啟動它們。您可以延遲啟動這些應用程序,這樣它們就不會同時啟動。這也將減輕計算機的負載。
在“啟動應用程序首選項”窗口中,選擇要延遲的程序並單擊“編輯” 。在命令字段中,在命令前添加sleep x,其中x是打開應用程序之前等待的時間(以秒為單位)。
假設您想在系統啟動120 秒後啟動 Slack,那麼您可以添加:
sleep 120; slack
要從啟動程序列表中刪除程序,請啟動啟動應用程序首選項窗口,選擇該應用程序,然後單擊刪除。
使用 cron 作業在 Ubuntu 啟動時啟動程序
Linux 中的 cron 作業提供了一種方法來安排程序、命令或腳本在指定的時間或間隔自動運行。使用 cron 作業,您還可以在系統啟動時自動運行 Ubuntu 程序,而無需任何手動交互。
cron 作業被定義為 crontab 文件中的條目。不要使用任何文本編輯器直接編輯 crontab 文件。相反,請使用以下命令對其進行編輯:
crontab -e
選擇要在其中編輯 crontab 文件的編輯器。然後,要添加在啟動後運行的 cron 作業,請使用以下語法:
@reboot <command-or-script>
例如,以下 cron 作業告訴系統檢查磁盤空間並在系統啟動後將輸出保存在~/disk-space.txt文件中:
@reboot df -h >> ~/disk-space.txt
保存 crontab 文件並退出。
要在 Ubuntu 啟動時停止運行程序,只需從 crontab 文件中刪除其 cron 作業條目。
使必要的程序在 Ubuntu 上啟動時啟動
讓您喜歡的程序在啟動時就已經打開,這非常方便,因為您可以在登錄系統後立即開始使用它們。但是,過多的啟動程序會延長啟動過程。
因此,建議僅在啟動時啟用必要的程序,禁用默認啟用的偶爾使用的程序。
發佈留言