分页: 1 / 2

ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

发表于 : 2023-08-26 18:14
sonicno1
ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

export lang等相关设置都试过,终端gnome-terminal无法使用中文,也不能显示中文。

Re: ubuntu22.04使用subprocess创建新终端时不能输入中文输入法

发表于 : 2023-08-26 21:07
sonicno1
经过编码的相关设置,在终端能显示中文,但是ibus、fcitx 5等中文输入法不能被调出,只能从其它程序复制中文到终端。

Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

发表于 : 2023-08-28 10:27
astolia
不想给代码和运行环境的话,只能让你对比一下env的输出内容看是不是缺了什么

Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

发表于 : 2023-08-31 10:18
sonicno1
subprocess.Popen("gnome-terminal"),它会起一个新终端,但是,中文输入法无法调出。

Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

发表于 : 2023-08-31 10:19
sonicno1
import os
os.system("gnome-terminal")
current_directory = os.getcwd()
os.chdir(os.path.join(os.sep, current_directory))
os.system("ls -ahl")
os.system("")
这是另一种方法,照样无法调出中文输入法

Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

发表于 : 2023-09-01 10:40
astolia
你是不是不知道什么叫运行环境,也没听过env命令?

Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

发表于 : 2023-09-03 18:36
sonicno1
你要是懂就直接说,别浪费大家时间,别在这一直不懂装懂,我试验过很多方法,根本不支持中文,我程序自己写的,我不懂env?

Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

发表于 : 2023-09-03 18:37
sonicno1
你就直接你的环境能不能中文就行了。

Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

发表于 : 2023-09-03 20:25
onlylove
他是让你对比下你创建的subprocess的env和直接打开终端的env的输出,你比较过没有吗,比较过就把结果贴出来看看

还有,影响中文输入法的不是lang这个变量
3758.jpg
你说你试过很多种方法,都哪些方法,你也不说,这东西不用保密吧

Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

发表于 : 2023-09-03 20:31
sonicno1
这用着我说?最简单的代码已经放出来,自己可以试一下,如果你们能在打开的新终端输入中文,就是我的环境问题,我以为这是ubuntu官网的提bug站点,原来不是。

Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

发表于 : 2023-09-03 21:05
sonicno1
顺便说一下,是以root权限执行的python test.py

Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

发表于 : 2023-09-03 21:11
onlylove
我刚费好大力气装了个虚拟机,测试的输入中文没问题,你现在才说,root权限执行?你root用户能输入中文吗?root的环境变量和你现在能输入中文的用户环境变量一样吗?你用普通用户试过可以不?如果你普通用户试过,从一开始就要说明是root用户

Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

发表于 : 2023-09-03 21:19
sonicno1
我的程序不支持普通用户执行,必须以root权限

Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

发表于 : 2023-09-03 21:20
sonicno1
那为什么自己打开的终端在root权限下能输入中文

Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法

发表于 : 2023-09-03 21:36
onlylove
等下我再试下看看

你说的root权限是用的什么方法
测试文件这样写的

代码: 全选

#!/usr/bin/python3
import subprocess

subprocess.Popen('gnome-terminal')
然后加上可执行权限
sudo ./test
根本就没有新terminal

我在另外一个系统上做的测试,能打开终端,不能输入中文的,因为环境变量不一样,没有输入法相关的设置

我那个ubuntu系统是新装的,除了输入法没动任何设置,另外一个系统不是ubuntu,有root用户密码