2016-11-01 20 views
0

Linux(Raspbian on Raspberry PI)の起動時にPythonプログラム(グラフィカルユーザーインターフェイス)を起動したいと思います。起動時のPythonスクリプトLinux

私はinitscriptを使ってPythonプログラムを起動しました。これをetc/init.dマップに入れました。

私はそれをupdate-rc.dコマンドで有効にしました。それはすべて正常に動作します。

しかし、私のPythonスクリプトは、initスクリプトに次のコードで起動しません。

#!/bin/bash 

### BEGIN INIT INFO 
# Provides:   GUI 
# Required-Start:  
# Required-Stop:  
# Default-Start:  2 3 4 5 
# Default-Stop:  0 1 6 
# Short-Description: This is a test daemon 
# Description:  This is a test daemon 
#     This provides example about how to 
#     write a Init script. 
### END INIT INFO 



case $1 in 
start) 
    python3 /home/pi/Desktop/GUI/GUI.py 
    ;; 
stop) 
    # Stop the daemon. 
    if [ -e $PIDFILE ]; then 
    status_of_proc -p $PIDFILE $DAEMON "Stoppping the $NAME process" && status="0" || status="$?" 
    if [ "$status" = 0 ]; then 
    start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE 
    /bin/rm -rf $PIDFILE 
    fi 
    else 
    log_daemon_msg "$NAME process is not running" 
    log_end_msg 0 
    fi 
    ;; 
restart) 
    # Restart the daemon. 
    $0 stop && sleep 2 && $0 start 
    ;; 
status) 
    # Check the status of the process. 
    if [ -e $PIDFILE ]; then 
    status_of_proc -p $PIDFILE $DAEMON "$NAME process" && exit 0 || exit $? 
    else 
    log_daemon_msg "$NAME Process is not running" 
    log_end_msg 0 
    fi 
    ;; 
reload) 
    # Reload the process. Basically sending some signal to a daemon to reload 
    # it configurations. 
    if [ -e $PIDFILE ]; then 
    start-stop-daemon --stop --signal USR1 --quiet --pidfile $PIDFILE --name $NAME 
    log_success_msg "$NAME process reloaded successfully" 
    else 
    log_failure_msg "$PIDFILE does not exists" 
    fi 
    ;; 
*) 
    # For invalid arguments, print the usage message. 
    echo "Usage: $0 {start|stop|restart|reload|status}" 
    exit 2 
    ;; 
esac 
+0

Xサーバを開始するには、コマンド行を追加します--status - すべての結果はありますか? –

答えて

1

問題は時にinitスクリプトの実行、利用できるグラフィカルインターフェイスが存在しないということです。 initスクリプトを使用する代わりに、X起動時に実行するようにアプリケーションを設定してみてください。

まず〜/ .xinitrcの

# ~/.xinitrc 

exec python3 /home/pi/Desktop/GUI/GUI.py 

にあなたのGUIアプリケーションを起動し、あなたが `サービスを実行しようとする方法を

startx 
+0

このファイルはどこにありますか? –

+0

ユーザーのホームディレクトリ(例:_/home/jarno/.xinitrc_)で見つけることができます。それが存在しない場合は、新しいものを作成してください。 –

+0

今、私はそれをやった。私はXサーバを指定しました。リブートすると、今は白いログイン画面が表示されています。私がログインすると、更新され、再度ログインする必要があります(これを続けます)。間違ったログインを入力すると、ログインが正しいことが示されます。しかし、私が正しい情報を使うと、それはちょうどリフレッシュされます。この同じ問題は、xinitrcファイルbtwなしで発生します。 –

関連する問題