输入法环境变量XMODIFIERS/GTK_IM_MODULE
我们配置输入法时,都是习惯性的在输入法启动前导出环境变量: export XMODIFIERS=@im=SCIM export GTK_IM_MODULE=SCIM 他们有何用意呢?? 我们常用的输入法有以下几种: 1. XIM (X输入法, 所有 X 图形程序都是可用的) 2. GTK immodule(GTK输入模块, 专给 GTK+2/Gnome 程序用的,GTK+ 1 不适用) 3. QT immodule(QT输入模块, 专给 QT/KDE 程序用的) XMODIFIERS实际上是指定 X图形程序的输入法. GTK_IM_MODULE 则是指定GTK+2的程序默认所用的输入法模块. 有关GTK+2 所有输入法模块都安装在 /usr/lib/gtk-2.0/2.4.0/immodules/ 目录下. 关于他们之间的关系,我们有一个比较直观的经验就是, 当我们因为设置XMODIFIERS失误(比如在有些情况下scim小写),导致X输入法没法使用时,我们在gnome-terminal里单击鼠标右键,移动到 "输入法",再选择 "SCIM Input Method"时,我们在gnome-terminal下却是可以输入中文的. 当然前提是我们已经安装scim-gtk2-immodule包. 一般情况下XMODIFIERS的优先级高于GTK_IM_MODULE ,即当我们同时设定这两个环境变量,在GTK+2的应用程序里优先使用的是XMODIFIERS指定的X输入法. GTK immodule 比起 XIM 有很多好处: 1. 不受 locale 限制 2. 完全不用设定,随时可用,会自动调用 IM server 3. 可以任意切换各种不同 IM server,随时可改,无需重启X. 4. 真正支援游标跟随. 但是因为 c++ 的兼容性问题使 scim-gtk2-immodule 跟许多程序相冲突,故而在目前,如果我们使用scim的话,还不能流畅享受到GTK 输入模块的种种妙处,只能使用 Scim for XIM. 注:mozilla, firefox, thunderbird 等不是正规的 GTK+ 2,没办法用鼠标动态选择输入法. 如果你仅仅使用GTK immodule的话, 一定要使用GTK_IM_MODULE指定默认的GTK 输入模块。 |
输入法环境变量XMODIFIERS/GTK_IM_MODULE的更多相关文章
- Windows系统中path环境变量详解
在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH.正确地配置这些环境变量,是能够顺利学习.开发的前提.而经常出现的问题是:有的学习者能够按照提示 ...
- win10下python环境变量设置
我用的是python_2.7.3.msi,从官网下载之后,一路按照默认进行安装. 安装之后配置环境变量的步骤如下: 1,点“我的电脑”,右键选“属性” 2,选择“高级系统设置”--->选“环境变 ...
- 配置ADB到Windows环境变量
adb 命令可以帮我们快速的管理连接的手机设备,例如执行一些安装apk,卸载apk命令,对于熟悉linux系统的人,可以方便的管理手机目录操作手机文件,还可以通过adb命令查看手机的系统日志等操作. ...
- Mac下如何配置环境变量JDK
1.在英文输入法的状态下,按键盘“Ctrl + 空格”组合键,调出Spotlight搜索,在这里可以快速启动终端,输入ter,然后回车,即可打开终端: 2.如果你是第一次配置环境变量,可以使用“tou ...
- MAC安装JDK及环境变量配置
1.访问Oracle官网 http://www.oracle.com,浏览到首页的底部菜单 ,然后按下图提示操作: 2.点击“JDK DOWNLOAD”按钮: 3.选择“Accept Lisence ...
- java环境变量怎么配置
我们在学习java的时候,必须先来配置一下java的环境变量,也许你不懂什么是java环境变量,我们也不需要懂,你只要知道,java环境变量配置好了,你的电脑就能编译和运行java程序了,这显然是你想 ...
- 为什么要设置Java环境变量(windows)
在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH.正确地配置这些环境变量,是能够顺利学习.开发的前提.而经常出现的问题是:有的学习者能够按照提示 ...
- tomcat Win10 配置环境变量详解
在Win10系统总该如何配偶之tomcat 环境变量?今天win10之家给大家带来了关于win10系统中配置tomcat环境的操作方法.在配置之前我们需要做以下几点: 步骤:安装和配置好了Java 的 ...
- Python初体验(一)—【配置环境变量】【变量】【input】【条件语句】【循环语句】
写在前面的: 作为一个控制专业的女研究生,不知道每天在研究什么,但总归逃脱不了码代码的命运.之前也学习过一些C语言.C++,基础嘛,稍稍微有一些.本不想走上码农的道路,天真烂漫的过此生(白日梦过程中. ...
随机推荐
- java程序员认证考试题库
第一部分 基础知识练习 目标 本章对应于<学生指南>各章的内容分别提供了练习题集,包括: ● 第一章Java入门 ● 第二章数据类型和运算符 ● 第三章流程控制与数组 ● 第四章封 ...
- 图片预加载插件 preLoad.js
1.preLoad.js插件 /*! * preLoad.js v1.0 * (c) 2017 Meng Fangui * Released under the MIT License. */ (fu ...
- eclipse下java中凝视字体太小和xml中中文字体太小问题解决方法
我们在win7下进行android应用开发.须要搭建对应的开发环境.如今普遍基本上都是eclipse+adt+sdk,在本人搭建完环境后,发现eclipse下.java中的凝视和xml中的中文字体变得 ...
- 使用 C# 开发智能手机软件:推箱子(十二)
这是"使用 C# 开发智能手机软件:推箱子"系列文章的第十二篇.在这篇文章中,介绍 Window/AboutDlg.cs 源程序文件. 这个源程序文件包括 AboutDlg 类,该 ...
- 动态布局中RadioGroup的RadioButton有时候不相互排斥的原因
近期在做一个答题类的模块,有单选.简答.调查问卷等,我是用动态布局的方式生成答题项的.在弄单选的时候遇到一个比較奇葩的问题,在代码中生成RadioGroup和RadioButton的时候.会发现不能相 ...
- 〖Android〗酷派手机固件.cpb文件的分解程序
/* * ===================================================================================== * * Filen ...
- LoadRunner脚本关联动态数据的最简单方法
为什么要关联动态数据呢?举个例子,在对我们平台的工作流性能测试时, 在待办任务里面选择一条记录执行发送操作,LoadRunner VuGen会详细记录下来流程发送操作的细节,但在回放脚本的时候会有问题 ...
- js firstChild 、nextSibling、lastChild、previousSibling、parentNode
nextSibling下一个兄弟节点 previousSibling上一个兄弟 parentNode父亲节点 <select><option value="zs" ...
- HDUOJ---The Moving Points
The Moving Points Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- SecureCRT 详细使用教程和技巧
SecureCRT 常用技巧 0.在secureCRT里切换不同的窗口:ctrl+tab. 复制:[ctrl] + [shift] + c 粘贴:[ctrl] + [shift] + v ...