サーバーのソフトウェアを起動するPythonスクリプトを実行しようとしています。サーバーソフトウェアを実行する必要がありますユーザー入力およびステータス情報のターミナルウィンドウ。
ノート:
START_SERVER.py(実行可能として設定):
#!/usr/bin/env python3.8
import os
# Several lines of code
os.system('Java -jar server.jar')
私はもう試した:
./parent/START_SERVER.py
を追加するpython3.8 /parent/START_SERVER.py
を。bashrcに追加するpython3.8 ~/parent/START_SERVER.py
を追加する行動:
/ etc/profileの読み込み中にエラーが見つかりました:
/etc/profile.d/START_SERVER.sh:3行目:
----> Outputs line 3 of my file, finding part of a comment that says "./START_SERVER.py"<------
:そのようなファイルやディレクトリはありません/etc/profile.d/START_SERVER.sh:6行目:予期しないトークン `( 'に近い構文エラー
/etc/profile.d/START_SERVER.sh:6行目: `def setSettings(): '
この時点で、私は何をすべきかについて本当に途方に暮れています。 このスクリプトをログイン時に実行するにはどうすればよいですか?
端末プロファイルを作成します。
「編集」->「設定」に移動します。
[プロフィール]の横にある[+]をクリックします
プロファイルに名前を付けます。 (この場合、「RunComm」を使用します)
「コマンド」タブをクリックします。
[コマンド終了時]選択ボックスに移動し、[ターミナルを開いたままにする]を選択します。
[閉じる]をクリックして終了します
エディタで、*.desktop
ディレクトリに~/.config/autostart
ファイルを作成します。
start-server.desktop
[Desktop Entry]
Name=StartServer
Type=Application
Exec=gnome-terminal --working-directory=/home/{YOUR_USER_NAME_HERE}/parent --profile='RunComm' -e 'bash -ci ./START_SERVER.py;bash'
start-server.desktop
ファイルのファイルモードを変更します。実行可能にする。 chmod +x ~/home/{YOUR_USER_NAME_HERE}/parent/start-server.desktop
****手順4が必要かどうかはわかりません。古い習慣。私はテストしていません****
ユーザーのログイン時にgnome-terminalウィンドウを開き、pythonスクリプトをbashで実行する必要があります。
スクリプトのユニットサービスファイルを作成します。ディレクトリ~/.local/share/systemd/user
が存在しない場合は、作成します。 mkdir -p ~/.local/share/systemd/user
のある端末
エディターでファイルを作成します~/.local/share/systemd/user/startserver.service
[Unit]
Description=Start server
[Service]
RemainAfterExit=no
Type=simple
ExecStart=/usr/bin/python3 /home/{YOUR_USER_NAME_HERE}/parent/START_SERVER.py
[Install]
WantedBy=default.target
次に、サービスを有効にします
systemctl --user enable startserver.service
ユーザーのログイン時に自動的に開始されます
ステータスは
systemctl --user status startserver.service
そして
journalctl --user -u startserver.service