ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
-
- 帖子: 13
- 注册时间: 2023-08-26 18:06
- 系统: ubuntu22.04
ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
export lang等相关设置都试过,终端gnome-terminal无法使用中文,也不能显示中文。
export lang等相关设置都试过,终端gnome-terminal无法使用中文,也不能显示中文。
上次由 sonicno1 在 2023-08-27 17:54,总共编辑 1 次。
-
- 帖子: 13
- 注册时间: 2023-08-26 18:06
- 系统: ubuntu22.04
Re: ubuntu22.04使用subprocess创建新终端时不能输入中文输入法
经过编码的相关设置,在终端能显示中文,但是ibus、fcitx 5等中文输入法不能被调出,只能从其它程序复制中文到终端。
- astolia
- 论坛版主
- 帖子: 6569
- 注册时间: 2008-09-18 13:11
Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
不想给代码和运行环境的话,只能让你对比一下env的输出内容看是不是缺了什么
-
- 帖子: 13
- 注册时间: 2023-08-26 18:06
- 系统: ubuntu22.04
Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
subprocess.Popen("gnome-terminal"),它会起一个新终端,但是,中文输入法无法调出。
-
- 帖子: 13
- 注册时间: 2023-08-26 18:06
- 系统: ubuntu22.04
Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
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("")
这是另一种方法,照样无法调出中文输入法
os.system("gnome-terminal")
current_directory = os.getcwd()
os.chdir(os.path.join(os.sep, current_directory))
os.system("ls -ahl")
os.system("")
这是另一种方法,照样无法调出中文输入法
- astolia
- 论坛版主
- 帖子: 6569
- 注册时间: 2008-09-18 13:11
Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
你是不是不知道什么叫运行环境,也没听过env命令?
-
- 帖子: 13
- 注册时间: 2023-08-26 18:06
- 系统: ubuntu22.04
Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
你要是懂就直接说,别浪费大家时间,别在这一直不懂装懂,我试验过很多方法,根本不支持中文,我程序自己写的,我不懂env?
-
- 帖子: 13
- 注册时间: 2023-08-26 18:06
- 系统: ubuntu22.04
Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
你就直接你的环境能不能中文就行了。
-
- 论坛版主
- 帖子: 5260
- 注册时间: 2007-01-14 16:23
Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
他是让你对比下你创建的subprocess的env和直接打开终端的env的输出,你比较过没有吗,比较过就把结果贴出来看看
还有,影响中文输入法的不是lang这个变量 你说你试过很多种方法,都哪些方法,你也不说,这东西不用保密吧
还有,影响中文输入法的不是lang这个变量 你说你试过很多种方法,都哪些方法,你也不说,这东西不用保密吧
-
- 帖子: 13
- 注册时间: 2023-08-26 18:06
- 系统: ubuntu22.04
Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
这用着我说?最简单的代码已经放出来,自己可以试一下,如果你们能在打开的新终端输入中文,就是我的环境问题,我以为这是ubuntu官网的提bug站点,原来不是。
-
- 帖子: 13
- 注册时间: 2023-08-26 18:06
- 系统: ubuntu22.04
Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
顺便说一下,是以root权限执行的python test.py
-
- 论坛版主
- 帖子: 5260
- 注册时间: 2007-01-14 16:23
Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
我刚费好大力气装了个虚拟机,测试的输入中文没问题,你现在才说,root权限执行?你root用户能输入中文吗?root的环境变量和你现在能输入中文的用户环境变量一样吗?你用普通用户试过可以不?如果你普通用户试过,从一开始就要说明是root用户
-
- 帖子: 13
- 注册时间: 2023-08-26 18:06
- 系统: ubuntu22.04
Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
我的程序不支持普通用户执行,必须以root权限
-
- 帖子: 13
- 注册时间: 2023-08-26 18:06
- 系统: ubuntu22.04
Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
那为什么自己打开的终端在root权限下能输入中文
-
- 论坛版主
- 帖子: 5260
- 注册时间: 2007-01-14 16:23
Re: ubuntu22.04使用subprocess创建新终端时不能使用中文输入法
等下我再试下看看
你说的root权限是用的什么方法
测试文件这样写的
然后加上可执行权限
sudo ./test
根本就没有新terminal
我在另外一个系统上做的测试,能打开终端,不能输入中文的,因为环境变量不一样,没有输入法相关的设置
我那个ubuntu系统是新装的,除了输入法没动任何设置,另外一个系统不是ubuntu,有root用户密码
你说的root权限是用的什么方法
测试文件这样写的
代码: 全选
#!/usr/bin/python3
import subprocess
subprocess.Popen('gnome-terminal')
sudo ./test
根本就没有新terminal
我在另外一个系统上做的测试,能打开终端,不能输入中文的,因为环境变量不一样,没有输入法相关的设置
我那个ubuntu系统是新装的,除了输入法没动任何设置,另外一个系统不是ubuntu,有root用户密码