python - 提示用户输入 sudo 密码以通过 tkinter GUI 和 python3 运行 shell 命令
问题描述
场景:我有一个 tkinter 窗口,它有一个按钮和一个密码输入框,当按下按钮时,它将运行一个命令来执行以下操作
sudo apt install mc -y
代码按预期运行和工作。但是我不希望通过终端提升密码。
目标 我希望通过 tkinter gui 提示 sudo 密码
问题
- 我应该使用窗口上的输入控件来收集密码吗?并将其传递给子流程。你会怎么做?我还没有找到任何明确的 sudo 示例。
- 我应该采取不同的方法吗?
代码片段
import os
import subprocess as sp
from tkinter import *
from tkinter import ttk
from ttkthemes import ThemedTk
#Window Setup
win = ThemedTk(theme ='clam')
win.geometry('500x400')
#function
def example():
sp.call (["sudo", "-S", "apt", "install", "mc", "-y"])
#button
btn = ttk.Button(win,text="Begin Test ",command=example)
btn.place(x=180, y=320, height= 30, width=150)
#password Textbox
pwdtxt = ttk.Entry(win, show="*")
pwdtxt.place(x=180, y=350, height= 30, width=150)
win.mainloop()
解决方案
推荐阅读
- r - 聚合随机采样的列以迭代更大的 bin 大小
- image - 用 C++ 编写多页 Big Tiff 保存
- web-crawler - 无法使用 Apache Nutch 抓取 RDF 数据
- arrays - 计算一段时间内满足多个条件的不同客户 ID
- django - ajax django登录系统不工作,它返回用户为无
- python - 使用 for 循环添加两个数组
- python - python threading Event : why do we need clear()
- javascript - 如何限制幻灯片的大小(JS)
- google-apps-script - How to create address fields in Google Contacts using Google App Script
- python - How do I manipulate text submitted in a Django form?