GNU/Linux >> Linux の 問題 >  >> Linux

Linuxスタートアップスクリプトとコマンドを自動実行する方法

Linuxシステムの素晴らしい機能の1つは、好みに合わせて調整および構成できることです。一般にターミナルと呼ばれるコマンドラインユーティリティを使用すると、ユーザーはコマンドをカーネルに渡して重要なタスクを実行できます。これは、Linuxと他のオペレーティングシステムの違いを引き出す多くの機能の1つです。

この投稿では、Linuxの強力な機能の1つである、起動時にスクリプト/コマンドとアプリケーションを自動的に実行する機能を活用します。このプロセスは、いくつかのことを達成するために行われます。壁紙の変更などの楽しく簡単な作業から、データのバックアップやファイルの暗号化などの複雑な作業まで、さまざまなものがあります。

起動時にLinuxスクリプトを実行する

始めて、Linux起動スクリプトとコマンドを自動化するために使用できるさまざまな方法を見てみましょう。

方法1:「スタートアップアプリケーション」GUIアプリを使用する

ここで説明するほとんどのメソッドには、コマンドラインが必要です。ただし、GNOMEベースのディストリビューションには、使用できる単純なグラフィカルユーティリティがあります。 「スタートアップアプリケーション」 プレインストールされており、ターミナルで手を汚したくないユーザーにとって信頼できるツールです。

1.「スタートアップアプリケーション」を起動します アプリケーションメニューから。

2.「スタートアップアプリケーション」 メインウィンドウの右側に3つのオプションが表示されます。 追加削除 、および編集 。最初の自動スクリプトを作成するには、「追加」をクリックします。 ボタン。

3.ポップウィンドウが開きます。スタートアップスクリプトまたはプログラムの名前を入力します。コマンドセクションに、実行するコマンドを入力します。たとえば、「 sudo mkdir / home / tuts / Desktop / My-Test-Script または、さまざまな「 bin 」に、bashスクリプトまたは実行可能システムコマンドへのフルパスを入力することもできます。 ‘ディレクトリ。

上記のコマンドは、起動するたびにシステムを更新するように常に画面に通知します。これは単なる例です。高度なbashスクリプトを記述して、さまざまなタスクを実行できます。 bashスクリプトを使い始めたばかりの場合は、ここでBashForLoopの例をいくつか見てください。

方法2:Cronジョブを使用する

Cronは、ユーザーが指定したとおりにユーザーが編集したタスクを実行するLinuxデーモンです。これらのスケジュールされたタスクは、crontabファイルに書き込まれます。どのジョブをいつ、どのイベントで実行するかをCronに指示します。

crontabファイルの基本的な形式は次のとおりです。

[分][時間][DayOfMonth][MonthOfYear][DayOfWeek][実行するスクリプト]。

ただし、起動時にスクリプトを実行する場合は、 @rebootを使用します。 パラメータ。これらすべてが初めてのように思われる場合は、LinuxでのCrontabに関する記事「例を使用して説明」をお読みください。

開始するには、新しいcronジョブを追加し、ターミナルで以下のコマンドを実行します。

$ crontab -e

これまでにこれを行ったことがない場合は、以下に示すように、デフォルトのエディターを選択するオプションが表示されます。 nanoをお勧めします とてもシンプルでわかりやすいからです。ここでの私の場合、「1」と入力します。

起動時にデスクトップに新しいディレクトリを作成する簡単なスクリプトを作成します。

SHELL=/bin/bash
@reboot sleep 30 && DISPLAY=:0 My-Test-Directory

方法3:/rc.localを使用する

起動時にスクリプトとコマンドを実行する別の方法は、/rc.localファイルを使用することです。開始するには、ターミナルで以下のコマンドを実行します。

sudo nano /etc/rc.local

このコマンドは、nanoエディターでrc.localファイルを開きます。それが存在しなかった場合、それはそれを作成します。 #!の間にコマンドを入力します/ bin / bash およびexit0 行。ここでbashスクリプトへのフルパスを指定することもできます。

#! /bin/bash
//path-to-your-bash-script
exit 0

次に、 /rc.localを作成する必要があります ファイル実行可能ファイル。以下のコマンドを実行します:

sudo chmod +x /etc/rc.local

完了したら、PCを再起動して、変更が有効になることを確認します。

方法4:Systemd

Systemdは、システムサービスとOSプロセスを管理するためのさまざまなユーティリティを含むソフトウェアスイートです。 systemdは起動時にサービスとプロセスを開始します。

Systemdを使用して、起動時にスクリプトとコマンドを自動化できます。 Systemdを使用してシステムを更新するように通知するプログラムを作成して自動化しましょう。

開始するには、コマンドを書き込むために必要なフォルダーとファイルを作成しましょう。以下のコマンドを実行します:

$ mkdir -p ~/.config/systemd/user
$ nano ~/.config/systemd/user/update-notifier.service

2番目のコマンドの後、nanoエディターが開き、以下のコマンドをここに貼り付けます。

[unit]
Description=Reminder to Update System
PartOf=graphical-session-target

[Service]
ExecStart=bash -c 'sleep 10; notify-send "Please, Update your System Now"
Type=oneshot

[Install]
WantedBy=graphical-session.target

これらのコマンドは非常に簡単です。システムは「Update-Reminder」を送信します 起動後、グラフィカルセッションが読み込まれてから10秒後。

起動するたびにスクリプトが確実に読み込まれるようにするには、スクリプトを実行可能にする必要があります。以下のコマンドを実行します。

$ chmod 644 ~/.config/systemd/user/update-notifier.service
$ systemctl --user enable update-notifier.service
$ systemctl --user daemon-reload
$ reboot

これは、起動時にSystemdを使用してスクリプトを自動化する簡単な方法です。上記のメソッドは、rootアクセスを必要としないスクリプトを実行します。 rootアクセスが必要なスクリプトを作成する場合は、「/ etc / systemd/system」にsystemdサービスを作成します。 「〜/ .config / systemd/user」の代わりにフォルダ ディレクトリ。また、「user」という単語を省略する必要があります。 上記のコマンドに含まれています。

結論

これらは、起動時にLinux起動スクリプトとコマンドを自動実行するために使用できる4つの方法です。実行に昇格された権限を必要としない単純なスクリプトを作成している場合は、「スタートアップアプリケーション」を使用することをお勧めします。 GUIアプリまたは単純なcronジョブ。スクリプトにrootアクセスが必要な場合は、 Systemdの作成を検討してください。 サービス。


Linux
  1. 再起動または起動時にコマンド/スクリプトを自動実行する方法

  2. バックグラウンドで UNIX / Linux コマンド (およびシェル スクリプト) を実行する 5 つの方法

  3. Linux でユーザー コマンドを制限する方法

  1. Linuxでシャットダウンおよび再起動コマンドを無効にする方法

  2. LinuxでのChownコマンドとは何ですか?その使用方法

  3. Linuxコマンド-概要と例

  1. Linuxテールコマンド:それは何であり、それを使用する方法

  2. Linuxコマンドを保存してオンデマンドで使用する方法

  3. Linuxコマンド:jobs、bg、およびfg