问个奇怪问题,想在纯tty环境下(服务器版)没有gui的情况下输入中文

系统字体配置、中文显示和输入法问题
头像
astolia
论坛版主
帖子: 5033
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 846 次

Re: 问个奇怪问题,想在纯tty环境下(服务器版)没有gui的情况下输入中文

#16

帖子 astolia » 2021-01-21 21:14

好吧,我在虚拟机上装了20.04的server版,亲手试了一下。最简完整流程如下

1、安装完系统后,登录用户,安装fbterm和fcitx,并进行最基本的设置。

代码: 全选

sudo apt install --no-install-recommends fbterm fcitx-module-dbus dbus-x11 fcitx-frontend-fbterm fcitx-pinyin fonts-wqy-microhei
sudo setcap 'cap_sys_tty_config+ep' /usr/bin/fbterm
sudo adduser $USER video
说明:apt install后是我尝试出来最少需要安装的东西,这里以fcitx-pinyin拼音输入法为例。要显示中文还需要安装一个支持中文的字体,这里以fonts-wqy-microhei为例。后两条是确保非root用户也能执行带输入法的fbterm。

2、上面的命令执行完后退出当前用户重新登录,以使加入video组起效。并在登录后用以下命令对fcitx进行设置

代码: 全选

fcitx
nano ~/.config/fcitx/profile
说明:fcitx第一次运行后,会自动生成配置目录~/.config/fcitx/。nano是自带的一个文本编辑器,可以用其他顺手的代替。编辑~/.config/fcitx/profile,把#IMName=一行改成IMName=pinyin,并将EnableIMList=中的pinyin:False改成pinyin:True。改完后,Crtl+O后回车保存文件,Ctrl+X退出。
Screenshot2.png
Screenshot2.png (3.92 KiB) 查看 1234 次
3、重新运行fcitx以加载新配置,这样就可以执行fbterm了

代码: 全选

fcitx -r
fbterm -i fcitx-fbterm
然后按ctrl+空格激活输入法,大功告成
Screenshot.png
Screenshot.png (6.71 KiB) 查看 1241 次
以后每次运行fbterm前需要保证fcitx已经在运行
debug4
帖子: 13
注册时间: 2020-10-29 7:34
送出感谢: 19 次
接收感谢: 0

Re: 问个奇怪问题,想在纯tty环境下(服务器版)没有gui的情况下输入中文

#17

帖子 debug4 » 2021-01-21 22:37

fbterm 下,推荐用 unifont 中文点阵字体。特别清晰。

包名: ttf-unifont
另外,也可以直接安装 unifont 这个虚拟包(依赖、并自动安装 ttf-unifont, xfonts-unifont 以及另外一个 unifont 相关的字体。)

再把 ~/.fbtermrc 中的 font-names 由 mono 改为 Unifont, 字号由 12 改为 16, 或者更大。效果完美!
头像
xukongwen
帖子: 21
注册时间: 2021-01-19 16:24
送出感谢: 0
接收感谢: 0

Re: 问个奇怪问题,想在纯tty环境下(服务器版)没有gui的情况下输入中文

#18

帖子 xukongwen » 2021-01-22 14:07

astolia 写了:
2021-01-21 21:14
好吧,我在虚拟机上装了20.04的server版,亲手试了一下。最简完整流程如下

1、安装完系统后,登录用户,安装fbterm和fcitx,并进行最基本的设置。

代码: 全选

sudo apt install --no-install-recommends fbterm fcitx-module-dbus dbus-x11 fcitx-frontend-fbterm fcitx-pinyin fonts-wqy-microhei
sudo setcap 'cap_sys_tty_config+ep' /usr/bin/fbterm
sudo adduser $USER video
说明:apt install后是我尝试出来最少需要安装的东西,这里以fcitx-pinyin拼音输入法为例。要显示中文还需要安装一个支持中文的字体,这里以fonts-wqy-microhei为例。后两条是确保非root用户也能执行带输入法的fbterm。

2、上面的命令执行完后退出当前用户重新登录,以使加入video组起效。并在登录后用以下命令对fcitx进行设置

代码: 全选

fcitx
nano ~/.config/fcitx/profile
说明:fcitx第一次运行后,会自动生成配置目录~/.config/fcitx/。nano是自带的一个文本编辑器,可以用其他顺手的代替。编辑~/.config/fcitx/profile,把#IMName=一行改成IMName=pinyin,并将EnableIMList=中的pinyin:False改成pinyin:True。改完后,Crtl+O后回车保存文件,Ctrl+X退出。
Screenshot2.png

3、重新运行fcitx以加载新配置,这样就可以执行fbterm了

代码: 全选

fcitx -r
fbterm -i fcitx-fbterm
然后按ctrl+空格激活输入法,大功告成
Screenshot.png

以后每次运行fbterm前需要保证fcitx已经在运行
謝謝版主幫忙,可是我第一次運行fcitx就報錯。。。

no usable user interface
之前都是按照你說的做。。。

為何我這麼苦,就是無法成功。。。

但是我看到了希望
头像
xukongwen
帖子: 21
注册时间: 2021-01-19 16:24
送出感谢: 0
接收感谢: 0

Re: 问个奇怪问题,想在纯tty环境下(服务器版)没有gui的情况下输入中文

#19

帖子 xukongwen » 2021-01-22 14:12

驚訝的發現,雖然報錯,但是竟然可以使用了!
我跪謝版主大人!
震驚了!
头像
xukongwen
帖子: 21
注册时间: 2021-01-19 16:24
送出感谢: 0
接收感谢: 0

Re: 问个奇怪问题,想在纯tty环境下(服务器版)没有gui的情况下输入中文

#20

帖子 xukongwen » 2021-01-22 14:21

debug4 写了:
2021-01-21 22:37
fbterm 下,推荐用 unifont 中文点阵字体。特别清晰。

包名: ttf-unifont
另外,也可以直接安装 unifont 这个虚拟包(依赖、并自动安装 ttf-unifont, xfonts-unifont 以及另外一个 unifont 相关的字体。)

再把 ~/.fbtermrc 中的 font-names 由 mono 改为 Unifont, 字号由 12 改为 16, 或者更大。效果完美!
感謝提供字體!
头像
xukongwen
帖子: 21
注册时间: 2021-01-19 16:24
送出感谢: 0
接收感谢: 0

Re: 问个奇怪问题,想在纯tty环境下(服务器版)没有gui的情况下输入中文

#21

帖子 xukongwen » 2021-01-22 14:22

請問版主,如何做到自動登錄後自動啟動fcitx然後再啟動fbterm呢?
我正在學習linux,這種白癡問題還請見諒。。。
是要修改啥bashrc文件嗎?

謝謝!
debug4
帖子: 13
注册时间: 2020-10-29 7:34
送出感谢: 19 次
接收感谢: 0

Re: 问个奇怪问题,想在纯tty环境下(服务器版)没有gui的情况下输入中文

#22

帖子 debug4 » 2021-01-22 21:20

xukongwen 写了:
2021-01-22 14:22
請問版主,如何做到自動登錄後自動啟動fcitx然後再啟動fbterm呢?
我正在學習linux,這種白癡問題還請見諒。。。
是要修改啥bashrc文件嗎?

謝謝!
修改 ~/.profile 或者 ~/.bashrc 檔案,在最後面添加下面幾行。即可。

代码: 全选

if [ "$DISPLAY" = "" ];then
  #fbterm
  fcitx-fbterm-helper 
  #bash
fi
可能的問題:

這樣進入的是 sh, 需要手動運行 bash 來進入 bash 環境。
头像
xukongwen
帖子: 21
注册时间: 2021-01-19 16:24
送出感谢: 0
接收感谢: 0

Re: 问个奇怪问题,想在纯tty环境下(服务器版)没有gui的情况下输入中文

#23

帖子 xukongwen » 2021-01-23 14:55

debug4 写了:
2021-01-21 22:37
fbterm 下,推荐用 unifont 中文点阵字体。特别清晰。

包名: ttf-unifont
另外,也可以直接安装 unifont 这个虚拟包(依赖、并自动安装 ttf-unifont, xfonts-unifont 以及另外一个 unifont 相关的字体。)

再把 ~/.fbtermrc 中的 font-names 由 mono 改为 Unifont, 字号由 12 改为 16, 或者更大。效果完美!
你好我遇到了巨大的字体问题!
安装了你提供字体后,文泉驿也同样,就是中文字体的间距特别大,看起来简直了
我试图更换了自己喜欢的字体,中文显示完美,但是却出现英文都挤在一起的状态。

这个有解吗(我后背发冷感觉这无解,貌似是fbterm或者vim的事。。。)

谢谢!
fuhuizn
帖子: 898
注册时间: 2006-01-06 22:55
系统: ubuntu
送出感谢: 0
接收感谢: 22 次
联系:

Re: 问个奇怪问题,想在纯tty环境下(服务器版)没有gui的情况下输入中文

#24

帖子 fuhuizn » 2021-01-23 14:59

先装 zhcon,在终端下运行zhcon就可以显示和输入中文了
debug4
帖子: 13
注册时间: 2020-10-29 7:34
送出感谢: 19 次
接收感谢: 0

Re: 问个奇怪问题,想在纯tty环境下(服务器版)没有gui的情况下输入中文

#25

帖子 debug4 » 2021-01-24 19:39

xukongwen 写了:
2021-01-23 14:55
debug4 写了:
2021-01-21 22:37
fbterm 下,推荐用 unifont 中文点阵字体。特别清晰。

包名: ttf-unifont
另外,也可以直接安装 unifont 这个虚拟包(依赖、并自动安装 ttf-unifont, xfonts-unifont 以及另外一个 unifont 相关的字体。)

再把 ~/.fbtermrc 中的 font-names 由 mono 改为 Unifont, 字号由 12 改为 16, 或者更大。效果完美!
你好我遇到了巨大的字体问题!
安装了你提供字体后,文泉驿也同样,就是中文字体的间距特别大,看起来简直了
我试图更换了自己喜欢的字体,中文显示完美,但是却出现英文都挤在一起的状态。

这个有解吗(我后背发冷感觉这无解,貌似是fbterm或者vim的事。。。)

谢谢!
sudo apt-get install unifont

再把 ~/.fbtermrc 关于字体、字号的两行设置贴出来。

原始默认值应该是这样:

代码: 全选

font-names=mono
font-size=12
建议改成这样(注意严格按大小写):

代码: 全选

font-names=Unifont
font-size=16
头像
懒蜗牛Gentoo
论坛版主
帖子: 7319
注册时间: 2007-03-02 17:36
系统: Linux Mint
送出感谢: 0
接收感谢: 96 次

Re: 问个奇怪问题,想在纯tty环境下(服务器版)没有gui的情况下输入中文

#26

帖子 懒蜗牛Gentoo » 2021-01-24 20:21

为楼主的折腾精神点赞!!
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
头像
xukongwen
帖子: 21
注册时间: 2021-01-19 16:24
送出感谢: 0
接收感谢: 0

Re: 问个奇怪问题,想在纯tty环境下(服务器版)没有gui的情况下输入中文

#27

帖子 xukongwen » 2021-01-26 9:31

报告大家一个好消息
我貌似找到了 一个挺好的解决方法就是 emacs + pyim
我主要是想写文字,发现了emacs,然后发现他竟然有个很好的中文输入法,并且里面有一个特别厉害的可以分别显示中文和英文字体的package
于是我想要的一切都解决啦

谢谢你们!
回复

回到 “中文支持”