Ошибка при запущении python3 скрипта на запуске

Я пытаюсь запустить скрипт Python (/home/user/Desktop/file.py) на запуске путем создания сценария удара (/etc/init.d/file.bash), который запускает скрипт Python

#!/bin/bash

case "$1" in
  start)
    echo "Starting"
    /home/user/Desktop/file.py
    ;;
  stop)
    echo "Stopping"
    killall python3.5
    ;;
  *)
    echo "Usage: service file.bash{start|stop}"
    exit 1
    ;;
esac
exit 0

и я сделал символьную ссылку file.bash и поместил его в/etc/rc5.d/s {NN} file.bash, но по некоторым причинам когда сервис запускается, я получаю ошибку

● file.service
   Loaded: loaded (/etc/init.d/file.bash; bad; vendor preset: enabled)
   Active: active (exited) since Mon 2017-12-11 14:49:45 EET; 29min ago
     Docs: man:systemd-sysv-generator(8)
   Process: 1285 ExecStart=/etc/init.d/file.bash start (code=exited, status=0/SUCCESS)

Dec 11 14:49:45 ****-PC file.bash[1285]:     protocol_display.Display.__init__(self, *args, **keys)
Dec 11 14:49:45 ****-PC file.bash[1285]:   File "/usr/local/lib/python3.5/dist-packages/Xlib/protocol/display.py", line 85, in __init__
Dec 11 14:49:45 ****-PC file.bash[1285]:     name, host, displayno, screenno = connect.get_display(display)
Dec 11 14:49:45 ****-PC file.bash[1285]:   File "/usr/local/lib/python3.5/dist-packages/Xlib/support/connect.py", line 72, in get_display
Dec 11 14:49:45 ****-PC file.bash[1285]:     return mod.get_display(display)
Dec 11 14:49:45 ****-PC file.bash[1285]:   File "/usr/local/lib/python3.5/dist-packages/Xlib/support/unix_connect.py", line 61, in get_display
Dec 11 14:49:45 ****-PC file.bash[1285]:     raise error.DisplayNameError(display)
Dec 11 14:49:45 ****-PC file.bash[1285]: Xlib.error.DisplayNameError: Bad display name ""
Dec 11 14:49:45 ****-PC systemd[1]: Started file.service.

когда я запускаю file.bash ( $ /etc/init.d/file.bash start ) Я не получаю ошибок

Я использую Ubuntu 16.04.1 и python3.5

Править:

ошибка находится в ( from pynput.keyboard import Key, Listener )

#!/usr/bin/python3.5
import socket
import subprocess
import time
import os
from pynput.keyboard import Key, Listener # <

но сценарий работает правильно, когда я называю его в терминале

1
задан 11 December 2017 в 17:48

0 ответов

Другие вопросы по тегам:

Похожие вопросы: