如何与 zenity 窗口交互并在其中输入一些文本?

ran*_*ger 2 python bash zenity xdotool 18.04

我有 python 代码:

import subprocess
subprocess.call(['sh', './zenity.sh'])
Run Code Online (Sandbox Code Playgroud)

和 zenity.sh 文件是

#!/usr/bin/python

zenity --forms --title="Question" \
   --add-entry="Question" \
Run Code Online (Sandbox Code Playgroud)

运行它会打开带有字段的窗口以输入一些文本。

我想在这个 zenity 窗口中输入一些文本,例如我尝试使用的 xdotool

subprocess.call(["xdotool", "type", "some text"])
Run Code Online (Sandbox Code Playgroud)

不工作

然后我创建了另一个 .sh

#!/bin/bash


xdotool search --class zenity windowfocus type 'some text'
Run Code Online (Sandbox Code Playgroud)

也不工作

有任何想法吗?

Win*_*nix 5

更改您的zenity.sh文件:

#!/usr/bin/python

zenity --forms --title="Question" \
   --add-entry="Question" \
Run Code Online (Sandbox Code Playgroud)

到:

#!/usr/bin/bash

zenity --forms --title="Question" \
   --add-entry="Question" \
Run Code Online (Sandbox Code Playgroud)

zenity不是 python 命令,它是 bash/shell 命令,所以你的 shebang(第一行)必须#!/usr/bin/bash不是#!/usr/bin/python.