4

ユーザーが画面上で特定の時間を表示するためのアプリケーションを開発しました。私は pygames ライブラリを使用しており、ユーザーが .py ファイルを実行した後、GUI がフルスクリーンになります。

ユーザーがファイルを実行する必要がなく、ログインが完了した後にファイルが自動的に実行されるようにするソリューションが必要です。

4

4 に答える 4

3

スクリプトをファイルに追加し/etc/rc.localます。

Raspberry Pi で/etc/rc.local、テキスト エディターで開きます。コマンドでVimを使用しますsudo

ファイルを開くと、次のように表示されます。

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

# Add your script here
/home/pi/somescript.sh

exit 0

スクリプトにパスを追加すると、再起動時にファイルが実行されます。ログイン時に実行したい場合は、同じことを行いますが、.bashrc代わりにファイルを編集してください。

于 2014-06-17T00:44:28.680 に答える
0

Raspberry Pi はDebian OS を実行します。

起動時に Python スクリプトを実行する方法に関する関連する議論は、ここにあります。

新しい端末が起動されるたびにスクリプトを実行する場合は、.bash_profile、.profile、および .bashrc ファイルを更新する必要があります。詳細については、こちらをご覧ください。

于 2013-07-30T06:20:26.850 に答える
0

TLDR:ディレクトリを使用しautostartます。

自動起動用の新しいエントリを作成...

cd /home/pi/.config/autostart/
sudo vim miner.desktop

ではminer.desktop、ユーザーがログインした後の起動時に実行したいコマンドを追加します。形式がわからない場合は、通常、そのフォルダーに既に使用可能な例があります (私にとっては でしたLXinput-setup.desktop)、それを使用できます必要に応じて、テンプレートとして。

[Desktop Entry]
Type=Application
Name=Miner (or whatever you want to call it)
Comment=MINE! (or whatever comment you want to add)
Exec=lxterminal --working-directory=/home/pi/Documents/miner/ -e ./start_moonlander2.sh
NotShowIn=GNOME;KDE;XFCE

ご想像のとおり、 の値Execは実際に実行されるものです。このコマンドを分解してみましょう...

lxterminal --working-directory=/home/pi/Documents/miner/ -e ./start_moonlander2.sh
  • lxterminal: 端末ウィンドウの新しいプロセスを開始するためのアプリケーション。
  • --working-directory=/home/pi/Documents/miner/: 実行の作業ディレクトリを設定します。スクリプトがローカル ファイルを使用する場合 (つまり、アプリ アセットが にある場合など)、これは非常に重要です。/pi/Documents/miner/
  • -e ./start_moonlander2.sh: これは、前に示した作業ディレクトリで実行するコマンドです。作業ディレクトリのアセットを使用するローカルshスクリプトを実行しています。

あなたが物事を中途半端にしたことを知りたいですか?新しいターミナル ウィンドウで実行する場合、lxterminal コマンドは単独で実行されます。新しいターミナル ウィンドウがポップアップし、コマンドが実行されます。それがクラッシュした場合、これが新しい[DeskTop Entry]で正しく起動する可能性は低いため、最初にそれを機能させる必要があります。

于 2020-11-22T17:27:05.533 に答える