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

Windowsスタートアップに相当するLinuxは何ですか?

Cronのようなものですか?

@reboot に注意してください エントリー

これは最も柔軟なアプローチであり、Windows の「スケジュールされたタスク」に最も似ています (実際にはより適切です)。


Xorg 自動起動

システム レベルのスタートアップ スクリプトとは別に、デスクトップ環境には独自の自動実行プログラムがある場合があります。フォルダ .config/autostart 自動実行エントリを定義するデスクトップ中立の方法であると想定されています。 /etc/xdg/autostart システム全体の構成用です。仕様の詳細は http://developer.gnome.org/autostart-spec/ にあります。

LXDE 自動起動エントリは ~/.config/lxsession/LXDE/autostart にも設定できます .

後でスクリプトを実行する必要がある場合は少し異なります ネットワークは稼働しています。その場合、ネットワーク マネージャ用に定義できる特別な接続後スクリプトを確認する必要があります。両方 NetworkManagerwicd 接続後の自動実行エントリを指定する独自の方法があります。ネットワークが ifupdown 経由で構成されている場合 、その後、ポストアップ スクリプトを /etc/network/if-up.d/ に配置できます フォルダ。しかし、接続後スクリプトを実行するためのより良い方法は、systemd を使用することです (最新のディストリビューションの大部分である systemd をサポートするシステムの場合)。

systemd サービスとして自動起動

自動起動したいものがデスクトップを必要とするグラフィカル アプリでない場合は、xorg または現在のデスクトップ環境が提供する自動起動機能を使用しないことをお勧めします。

systemd は多くの最新のディストリビューションで普及しており、サービスの開始方法と実行方法に関して多くの制御と柔軟性を提供します。

いくつかの利点を要約します (systemd はさらに多くのことができます ):

  • root または特定のユーザーとして実行します。 User=myuser
  • 構成可能なタイムアウトで失敗時にサービスを再起動します:Restart=on-failure|on-watchdog|on-abnormal|always
  • サービス タイプの設定:Type=simple|forking|oneshot|notify|dbus
  • 起動の前提条件と依存関係を確立します。つまり、ネットワークの起動後にサービスを開始するように設定できます (Wants=network-online.target [Unit] で セクション)

telegram-cli デーモンを開始するサービスの例。 /etc/systemd/system/tg.service に配置します .

[Unit]
Description=MyDaemon
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/local/bin/telegram-cli -k /etc/telegram-cli/tg-server.pub -W -P 1234 -d -vvvRC
ExecStop=/usr/bin/pkill -f telegram-cli

User=jicu

[Install]
WantedBy=multi-user.target

これで、サービスの自動開始を有効にできます:

sudo systemctl enable tg

サービスを開始します:

sudo systemctl start tg

サービスを停止します:

sudo systemctl stop tg

ステータスを確認してください:

systemctl status tg

サービスを無効にします:

sudo systemctl disable tg

余分な入力を省くために、 ~/.bashrc を追加できます 行 alias sc='sudo systemctl $*' 次に、上記のコマンドを次のように短縮できます。 sc start tg .

<ブロック引用>

詳細:

  • systemd について
  • systemd サービス
  • systemd ユニット

はい、rc.local で実行可能ファイルへのパスを定義することで、Linux の起動時にプログラムを実行できます。 /etc に存在する または /etc/rc.d ディレクトリ、例:

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
/path/to/executable

注:ファイルのドキュメントに記載されているように、実行権限を割り当てることを忘れないでください (例:Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure that this script will be executed during boot.)。


Linux
  1. 最高のVPSは何ですか:WindowsまたはLinux?

  2. DOS の一時停止に相当する Linux は何ですか?

  3. Mac 用の Linux の updatedb コマンドに相当するものは何ですか?

  1. Windows での Linux の ~ (チルダ) に相当するものは何ですか?

  2. MacOS の Linux コマンド sudo fdisk -l に相当するものは何ですか?

  3. Linux の Active Directory に相当するものは何ですか

  1. Linuxを持続可能なOSにする理由

  2. Linuxコミュニティが特別な理由は何ですか?

  3. Linux update-rc.d に相当する FreeBSD は何ですか?