如何在 Ubuntu 上管理啟動應用程序

如何在 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

如果服務設置為在系統啟動時自動運行,則輸出應返回已啟用。

檢查服務狀態-1

要在 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

gnome 會話屬性

這將啟動“啟動應用程序首選項”窗口,您將在其中看到已設置為在啟動時運行的程序列表。

要將新程序添加到列表中,請單擊“添加” 。這將打開“添加啟動程序”窗口。

添加啟動程序

在“名稱”字段中,鍵入要添加的程序的名稱。然後在命令字段中,提供程序的可執行二進製文件的完整路徑。

要查找程序的完整路徑,請使用後跟程序名稱的 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 上啟動時啟動

讓您喜歡的程序在啟動時就已經打開,這非常方便,因為您可以在登錄系統後立即開始使用它們。但是,過多的啟動程序會延長啟動過程。

因此,建議僅在啟動時啟用必要的程序,禁用默認啟用的偶爾使用的程序。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *