xterm神奇的输入法问题

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
gzbao9999
帖子: 627
注册时间: 2008-11-08 18:34

xterm神奇的输入法问题

#1

帖子 gzbao9999 » 2009-06-10 21:44

xubuntu9.04
在用icewm+rox

每次开机之后 启动xterm
是可以使用fcitx输入法的(可以切换出fcitx,切换掉 切换出 切换掉。。。)
但是只能这么一次 只要这个xterm关掉之后再来(或者再开其他的xterm)
这些新开的xterm里,小企鹅输入法就没法用了(焦点在xterm里 根本就切换不出fcitx了)

==================================================
分享一点xterm的小经验
遇到的问题
1显示中文方框 (已解决)
2标题(title)中文乱码 (已解决)
3更换字体 (已解决)
4如题 (未解决)

解决方法:

第1,2问题的应急方法:
在xterm中 按住ctrl不放
然后鼠标右键 把large勾上(这个解决了问题1)
把UTF-8 Titles勾上(这个解决问题2)
但是
这还不彻底,因为xterm不人性化
虽然打过勾了,xterm并不给你记住
忒郁闷,所以如果开发软件的话要记住这个教训,辛苦我一个,幸福千百人

所以为了xterm长记性,只好手动修改配置文件
cd /etc/X11/app-defaults/
sudo mousepad XTerm (我的XTerm配置文件是在这个目录的,网上看到有些是在/usr/lib...下)
编辑XTerm

第1个问题:
查找*VT100.utf8Fonts.font:
将后面内容改为 -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
(这句是把Default的字体改为了large字体的大小,这样就不用每次去勾选large了)
接着第2个问题
在最后面追加一行
XTerm*utf8Title: true (发现XTerm文件中,每个有效行都是*开头,但追加的内容加不加*都可以生效)
保存退出就可以生效了

第3个问题:
如果要更换字体的话可以
在XTerm配置文件后面追加一行
(比如要用宋体,不过我觉得还是默认的字体清爽一些)
*faceName:SimSun

第4个问题(见最上面):
google了个底朝天,但未找到能起作用的,大家帮帮忙

看到一个方法是在XTerm配置文件后面追加
inputMethoe:FCITX
不过一看就觉得应该是inputMethod:FCITX
但是不管是用下面哪一种
inputMethod:FCITX
inputMethod:fcitx
*inputMethod:FCITX
*inputMethod:fcitx
inputMethoe:FCITX
inputMethoe:fcitx
*inputMethoe:FCITX
*inputMethoe:fcitx
都不管鸟用
气血鼓荡,身体发胀,偶飘上头,三时舒畅
gzbao9999
帖子: 627
注册时间: 2008-11-08 18:34

Re: xterm神奇的输入法问题

#2

帖子 gzbao9999 » 2009-06-10 21:58

还没人来
秀秀自己配置的桌面(icewm+rox)
附件
screenshot.png
气血鼓荡,身体发胀,偶飘上头,三时舒畅
gzbao9999
帖子: 627
注册时间: 2008-11-08 18:34

Re: xterm神奇的输入法问题

#3

帖子 gzbao9999 » 2009-06-10 22:12

我把conky
设置到快捷键ctrl+alt+del上了
用的时候喊出来看一下,没必要一直挂着浪费资源

我现在有个更好的主意了
写一个shell脚本 叫conkyr (事实上这个名字很糟糕,直接导致了shell的不能正常执行,最终我用sys_conk这个名字,因为我自己写来的的脚本全都sys_开头)
shell编程我不熟悉,写下伪代码 (实现的代码,我已经在5楼给出)
---------------------------------------
#!/bin/bash
if (conky 在运行){
killall conky
}
else{
运行conky
}
----------------------------------------

在conkyr 丢到/usr/bin/下
在icewm的keys中
将ctrl+alt+del配置给conkyr

这样就可以实现 按一下ctrl+alt+del 打开conky
再按一下ctrl+alt+del 关闭conky

路过打大侠
有兴趣的话
帮忙完成这段shell
上次由 gzbao9999 在 2009-06-10 22:58,总共编辑 3 次。
气血鼓荡,身体发胀,偶飘上头,三时舒畅
头像
upsuper
帖子: 361
注册时间: 2008-06-08 13:31
来自: 福州
联系:

Re: xterm神奇的输入法问题

#4

帖子 upsuper » 2009-06-10 22:25

梅兰竹菊……巨有创意……
gzbao9999
帖子: 627
注册时间: 2008-11-08 18:34

Re: xterm神奇的输入法问题

#5

帖子 gzbao9999 » 2009-06-10 22:33

还是自己写来的快
已经完成了

sys_conk内容如下:
---------------------------------------------------------------
#!/bin/sh
stillRunning=$(ps -ef | grep "conky")
if [ "$stillRunning" ] ;
then killall conky;
else conky;
fi
-------------------------------------------------------------------
发现一个问题 叫conkyr这个名字不行
好像名字里面包含了conky就会有奇怪的问题
(这种名字运行的时候 打印没有进程可杀给我看 未执行else
我突然想到 这个很可能是grep的字符串匹配出了问题
对 就是这样 grep 在进程名conkyr中搜索到了conky 所以这个笨蛋认为是conky程序在运行
所以就执行killall conky 可实际上并没有conky在运行 所以提示没有进程可杀,原来如此)

最后我决定叫sys_conk
设置之后已经可以ctrl+alt+del 呼出 关掉了
目的达到

---------------------------------------------------------------------
还是写仔细一点 或许有人用的到 (如果你用的icewm,可以按下面操作)
sudo cp sys_conk /usr/bin/ (在这之前别忘了给sys_conk执行的权限)
cd .icewm
mousepad keys
编辑keys文件 在后面添加一行
key "Alt+Ctrl+Del" sys_conk
保存后 重启下icewm
就可以用Ctrl+Alt+Del 呼出 关闭conky了
气血鼓荡,身体发胀,偶飘上头,三时舒畅
gzbao9999
帖子: 627
注册时间: 2008-11-08 18:34

Re: xterm神奇的输入法问题

#6

帖子 gzbao9999 » 2009-06-11 10:49

没人来鸟阿
问题依旧阿
气血鼓荡,身体发胀,偶飘上头,三时舒畅
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: xterm神奇的输入法问题

#7

帖子 eexpress » 2009-06-11 11:33

代码: 全选

☎ cat /usr/local/bin/xterm
#!/bin/bash
c=(black brown4 black tan4 black)
n=$(($RANDOM%${#c[*]}))
XMODIFIERS="@im=SCIM" /usr/bin/xterm -bg ${c[$n]} $*
● 鸣学
gzbao9999
帖子: 627
注册时间: 2008-11-08 18:34

Re: xterm神奇的输入法问题

#8

帖子 gzbao9999 » 2009-06-11 14:08

楼上你的方法不行
再说SCIM输入法早被我删了 我用的fcitx

--------------------------------------------------------
我自己又到处研究了下
当前我的locale是这样的
vava@vava-desktop:~$ locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

这个状态下 终端里可以正常的显示中文,但是xterm中无法切换出fcitx输入法

于是我执行
export LC_CTYPE=zh_CN.GB2312 这样xterm中可以正常切换出fcitx 但是ls的内容又有中文乱码了
export LC_CTYPE=zh_CN.GBK 切换不了输入法 ls中文乱码
export LC_CTYPE=zh_CN.GB18030 切换不了输入法 ls中文乱码

另外还这样尝试了一下
export LANG=zh_CN.GB2312
export LANG=zh_CN.GBK
export LANG=zh_CN.GB18030
始终没能让我满意

-------------------------------------------
最神奇之处还是 开机第一次执行的xterm居然是可以切换使用fcitx舒服法的 (但仅此一次)
气血鼓荡,身体发胀,偶飘上头,三时舒畅
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: xterm神奇的输入法问题

#9

帖子 eexpress » 2009-06-11 15:58

仔细点,听我的吧。何必折腾语言环境变量哦。那无关的。
● 鸣学
gzbao9999
帖子: 627
注册时间: 2008-11-08 18:34

Re: xterm神奇的输入法问题

#10

帖子 gzbao9999 » 2009-06-11 16:39

大牛 按你试了 但是只有随机那几个背景色起了效果
我知道你的意思是想为xterm指定输入法
奈何根本就切换不出来

------------------------------------------------------------------------------------------
vava@vava-desktop:/usr/local/bin$ ls
xterm
vava@vava-desktop:/usr/local/bin$ more xterm
#!/bin/bash
c=(black brown4 black tan4 black)
n=$(($RANDOM%${#c[*]}))
XMODIFIERS="@im=fcitx" /usr/bin/xterm -bg ${c[$n]} $*
vava@vava-desktop:/usr/local/bin$
vava@vava-desktop:/usr/local/bin$
vava@vava-desktop:/usr/local/bin$ xterm
--------------------------------------------------------------------------------------------

原来/usr/local/bin下的同名指令比/usr/bin下的拥有更高的优先级
这个倒是不错 可以改造原来的指令
气血鼓荡,身体发胀,偶飘上头,三时舒畅
回复