Evn = Ubuntu 18.04 64bit (Desktop)
Файл: "/ home / kwan / python / client.py"
#!/usr/bin/python3
# encoding: utf-8
import socket
from time import sleep
class sock:
def __init__(self, target):
self.target = (target, 6666)
self.flag = "alive"
def keep_conn(self):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
try:
s.connect(self.target)
s.send(self.flag.encode("utf8"))
print("conn success!")
except Exception as err:
print(err)
if __name__ == '__main__':
client_sock = sock("192.168.1.144")
try:
print("Press Ctrl + C to stop")
while True:
client_sock.keep_conn()
# sleep(1)
except KeyboardInterrupt:
print("stop")
exit(1)
except Exception as err:
print(err)
Файл: "/ etc / systemd / system /autorun.service "
Редактировать:
[Unit]
Description=AutoRun
After=multi-user.target
[Service]
Type=simple
WorkingDirectory=/home/kwan/python
ExecStart=/usr/bin/python3 /home/kwan/python/client.py
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=multi-user.target
Команда терминала:
sudo systemctl enable autorun.service
sudo systemctl daemon-reload
sudo service autorun start
Может работать!
Но когда я создаю графический интерфейс пользователя tkinterскрипт:
Файл: /home/kwan/python/gui.py
#!/usr/bin/python3
# encoding: utf-8
import tkinter as tk
if __name__ == '__main__':
window = tk.Tk()
window.geometry('300x200')
window.mainloop()
и редактируйте служебные файлы, как раньше, но ничего не происходит.
Может работать наКоманда терминала и отображение окна:
python3 /home/kwan/python/gui.py
Файл: "/ etc / systemd / system / mygui.service"
Редактировать:
[Unit]
Description=MyGUI
After=multi-user.target
[Service]
Type=simple
WorkingDirectory=/home/kwan/python
ExecStart=/usr/bin/python3 /home/kwan/python/gui.py
StandardOutput=syslog
StandardError=syslog
[Install]
WantedBy=multi-user.target
Команда терминала:
sudo systemctl enable mygui.service
sudo systemctl daemon-reload
sudo service mygui start
Кто-нибудь знает, почему служба работает, но нет графического интерфейса?