gpt4 book ai didi

python - 如何在 Ubuntu 上通过单击按钮重新启动 TeamViewer?

转载 作者:太空宇宙 更新时间:2023-11-04 05:08:45 25 4
gpt4 key购买 nike

我正在开发一个 GUI,我需要 GUI 能够在 Teamviewer 崩溃时重新启动它。

我尝试使用团队查看器“备忘单”上的内核命令来执行此操作

import tkinter as tk
import os
import time
root = tk.Tk()
root.title(string="TeamViewerRebootButton")
root.geometry("200x200")

def closePop_upCallback():
None

def teamviewerReboot():
rebooting = tk.Toplevel(master=root)
label = tk.Label(master=rebooting, text="Rebooting...", font=("", 15))
label.pack()

try:
os.system("sudo teamviewer daemon stop")

os.system("sudo teamviewer daemon start")

label.configure(text"Rebooting Complete")
sleep(1)
rebooting.destroy()




rebootTeamViewer = tk.Button(master=root, text="Restart TeamViewer", command=None)
rebootTeamViewer.pack()



root.mainloop()

虽然这声称有效,但据我所知,它实际上并没有重新启动 TeamViewer。

最佳答案

首先:您的按钮具有 command=None,因此它永远不会运行任何功能,因此无法重新启动它。

第二:如果没有 exceptfinally ,则不能使用 try,因此如果按钮运行它,可能会出现错误。

第三:你需要time.sleep而不是`sleep()

<小时/>

顺便说一句:我会使用 pkexec 而不是 sudo 来显示密码窗口 - 它比在没有密码的情况下运行 sudo 更安全。

大多数守护进程都有选项restart来重新启动它。它还可以在守护程序不运行时启动它。我没有 teamviewer 来检查它是否也有此选项。

<小时/>
import tkinter as tk
import os
import time

# --- functions ---

def teamviewer_reboot():

rebooting = tk.Toplevel(root)

label = tk.Label(rebooting, text="Rebooting...")
label.pack()

try:
os.system("pkexec teamviewer daemon stop")
except Exception as ex:
print('ERROR:', ex)
os.system("pkexec teamviewer daemon start")

#os.system("pkexec teamviewer daemon restart")

label.configure(text="Rebooting Complete")
root.update() # update window because mainloop can't do this when sleep stops it.
time.sleep(2)

rebooting.destroy()

# --- main ---

root = tk.Tk()
root.title(string="TeamViewerRebootButton")
root.geometry("200x200")

reboot_teamviewer = tk.Button(root, text="Restart TeamViewer", command=teamviewer_reboot)
reboot_teamviewer.pack()

root.mainloop()

关于python - 如何在 Ubuntu 上通过单击按钮重新启动 TeamViewer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58172894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com