我的编程空间,编程开发者的网络收藏夹
学习永远不晚

快速解决linux下中文输入法问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

快速解决linux下中文输入法问题

故事背景:最近在做资产上报相关功能,要支持中文输入,如果正常快捷方式启动程序没问题,但是升级或者卸载重新安装,自启的时候是使用su usr -C XX.sh启动,root下启动没办法获取用户的环境变量,下面开始咱们探险之路。。。

探索之路:通过export打印root和用户下的环境变量对比,以及google相关linux下输入法相关问题,找到了QT_IM_MODULE这个变量,不同的系统会是ibus或者fctix或者其他等等,,,

解决方案:因为程序第一次安装的时候需要用户手动启动,我们需要在代码里面添加获取当前用户下的QT_IM_MODULE的值,然后写入全局一个文件,然后在钩子脚本里面去获取这个全局变量的值,在启动脚本里面通过设置export QT_IM_MODULE=XX就可以了,下面展示代码

代码有话说:

1、程序里SDgbLKNqq面需要添加的代码:


//添加全局中文输入法环境变量
    QString qstrInputMethod = path;
    qstrInputMethod += "/.local/sdforcnos/sdforcnos.inputMethod";
    char *pInputEnv = getenv("QT_IM_MODULE");
    if(pInputEnv != NULL)
    {
      QString qstrCMD = QString("echo %1 > %SDgbLKNqq2").arg(pInputEnv).arg(qstrInputMethod);
      system(qstrCMD.toStdString().c_str());
      printf("---%s-----------QT_IM_MODULE=%s\n", qstrCMD.toStdString().c_str(), pInputEnv);
    }

2、钩子脚本需要的代码:


 if [ -e "/home/${user}/.local/sdforcnos/sdforcnos.inputMethod" ];then
     inputEnv=`cat /home/${user}/.local/sdforcnos/sdforcnos.inputMethod`
     if [ ! -z "$inputEnv" ]; then
       export QT_IM_MODULE="$inputEnv"
     fi
    fi
    su $user -c "/usr/bin/startsd &"

总结

到此这篇关于linux下中文输入法问题的文章就介绍到这了,更多相关linux中文输入法问题内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

快速解决linux下中文输入法问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

快速解决linux下中文输入法问题

故事背景:最近在做资产上报相关功能,要支持中文输入,如果正常快捷方式启动程序没问题,但是升级或者卸载重新安装,自启的时候是使用su usr -C XX.sh启动,root下启动没办法获取用户的环境变量,下面开始咱们探险之路。。。 探索之路:
2022-06-04

Linux 下 Sublime Text 中文输入问题的如何解决

这篇文章主要介绍“Linux 下 Sublime Text 中文输入问题的如何解决”,在日常操作中,相信很多人在Linux 下 Sublime Text 中文输入问题的如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
2023-06-13

ubuntu sublime中文输入问题解决办法

ubuntu sublime中文输入问题解决办法 概述:ubuntu下面使用sublime写代码,不能输入中文写注释都比较麻烦,所以就搜了一下如何输入中文。写篇博客记录一下,测试成功。 测试环境 系统:ubuntu 14.04lts sub
2022-06-04

Ubuntu12.04下如何解决无法使用中文输入法的问题

这篇文章主要介绍“Ubuntu12.04下如何解决无法使用中文输入法的问题”,在日常操作中,相信很多人在Ubuntu12.04下如何解决无法使用中文输入法的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”U
2023-06-13

解决MySQL无法输入中文字符的问题

文章目录 问题描述问题排查解决方案1️⃣创建数据库时设置字符集为utf82️⃣修改数据库配置文件【比较麻烦】 写在最后 前几日在使用MySQL数据库的时候,出现了一处保存,故作此记录✍ 问题描述 下面是我这样exa
2023-08-16

useState 解决文本框无法输入的问题详解

这篇文章主要为大家介绍了useState 解决文本框无法输入的问题详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-03-15

Java无法输出中文问题及解决

这篇文章主要介绍了Java无法输出中文问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-23

如何解决Windows7中快捷键切换输入法失灵的问题

办公时,敲字ing,突然发现输入法几种输入法之间www.cppcns.com的快捷键切换失灵了,怎么办? 首先,看看是不是只在 Word 文档中出现输android入法切换问题。下面以Win7的好搭档,Office2010中的Word 文档
2023-05-25

vue+element-ui中form输入框无法输入问题的解决方法

很多初次接触element-ui的同学,在用到elementform组件时可能会遇到input框无法输入文字的问题,下面这篇文章主要给大家介绍了关于vue+element-ui中form输入框无法输入问题的解决方法,需要的朋友可以参考下
2023-05-14

linux中文输入法打不出中文如何解决

在 Linux 中,可以通过以下方式解决无法输入中文的问题:1. 安装中文输入法:许多 Linux 发行版都有预装了一些中文输入法,你可以在系统设置中查看并启用它们。如果没有预装中文输入法,你可以手动安装一些流行的中文输入法,例如:fcit
2023-09-05

ubuntu下没有中文输入法的解决办法

ubuntu下没有中文输入法的解决办法! 我们在安装虚拟机或者ubuntu系统的时候,常见的是尽管是中文版本的但却没有中文输入法,确实是一件很恼火的事情! 我自己也亲身经历过,特此给大家提供一种方法
2022-06-04

如何解决mysql表输入中文出现问号的问题

当在MySQL表中输入中文出现问号时,可能原因包括字符集不匹配、数据库连接编码错误、客户端编码错误、数据长度超出限制、字符串包含无效字符、第三方库问题、MySQL版本过低或数据库服务器配置错误。解决方案包括更改字符集、指定字符集、选择正确字符集、增加列长度、过滤无效字符、检查第三方库文档、升级MySQL版本或检查服务器配置。确保数据库、客户端和数据使用相同的字符集。
如何解决mysql表输入中文出现问号的问题
2024-04-02

解决PHP输出中文乱码问题的方法

解决PHP输出中文乱码问题的方法在进行PHP开发过程中,经常会遇到输出中文乱码的问题,这给我们的网站开发和用户体验带来了困扰。在PHP中,解决中文乱码问题的方法主要包括设置HTTP头部信息、设置字符编码、使用iconv函数等。下面将详细介
解决PHP输出中文乱码问题的方法
2024-03-15

Android输入法弹出时覆盖输入框问题的解决方法

当一个activity中含有输入框时,我们点击输入框,会弹出输入法界面,整个界面的变化效果与manifest中对应设置的android:windowSoftInputMode属性有关,一般可以设置的值如下,
2022-06-06

快速解决fragment中onActivityResult不调用的问题

fragment 通过startActivityForResult方法启动另一个activity,返回时,不调用onActivityResult方法,解决步骤: 1. 在Fragment所属的Activity中,重写了onActivity
2023-05-31

编程热搜

目录