Linux学习笔记-启动器图标 系统编码 输入法 编辑器


1#linux添加启动器图标(Ubuntu为例)

添加启动器图标,以eclipse为例,#表示命令提示符,shell命令:

sudo vi /usr/share/applications/eclipse.desktop

sudo 指root执行

vi为vim编辑器

启动器图标路径为 /usr/share/applications/xxx.desktop

有很多这种文件,分别都是应用的启动入口

…………………………………………

[Desktop Entry]
Encoding=UTF-8
Name=android-studio
Comment=android-ide
Exec=gksudo "/opt/android-studio/bin/studio.sh"
Terminal=false
Type=Application
Icon=android-studio
StartupNotify=true
Categories=System;

…………………………………………

注释:
Name为你图标显示的名称;
Comment 备注,
Encoding编码方式,
Exec即为从shell启动的全命令,第三方软件的执行文件,

如果需要以root执行

请按此格式gksudo "执行语句"

或者:

Exec=su-to-root -X -c studio.sh

Icon为图标 安装后一般只用填名称,找不到可以尝试添加完整的路径,格式为xpm

Categories为图标分类,其他照猫画虎即可

如果不能运行请检查有没有安装gksu

apt-get install gksu

详细请看官方文档:https://www.ibm.com/developerworks/cn/linux/l-cn-dtef/

2#文件打开方式编辑(解决有时候打开方式重复)

有时候,在某些后缀没有默认软件打开时,会发现选择列表里会有很多重复的打开方式,有些是因为之前安装后残留的

比如wine,还有些或许是软件异常 解决方法如下,自行自定义

Ubuntu保存文件类型打开方式主要又两个配置文件决定:

1. /etc/gnome/defaults.list 保存了全局的打开方式
2. /.local/share/applications/mimeapps.list 保存了个人的打开方式(局部个人设置)

3#Linux安装中文字体

今天在Linux下调试Android studio时 发现中文的注释等特别别扭,后来发现是字体的原因,Linux下的字体多数不支持中文

所以字体一直时默认的系统中的中文,我的特别不适合编程时查看 下面时解决办法


将你想要的字体拿出来; 用root账户

重命为 你想要的名字.ttf ,拷贝ttf字体文件到 /usr/share/fonts/chinese/TrueType/ 下来  如果没有chinese/TrueType/,请自行创建 

在linux命令行下执行:

fc-cache /usr/share/fonts/chinese/TrueType/ #刷新字体缓存

最后去setting里切换成自己的字体,即可解决!

4#Shutter乱码

今天看到一个比较强大的截图工具 但是装上去有瑕疵,就是有两个菜单乱码

感谢这位博主的贴:http://blog.csdn.net/zrools/article/details/52497759

貌似我的乱得比他更严重 elementary OS0.4 +Shutter 0.93.1

解决办法:

修改shutter的脚本文件/usr/bin/shutter 右键以文本打开

第一个选区的地方

选区_001.png

大概8534行

 my $wrkspace_item = Gtk2::MenuItem->new_with_label( $space->get_name );

将这里的$space->get_name进行UTF-8解码

 my $wrkspace_item = Gtk2::MenuItem->new_with_label( $shf->utf8_decode($space->get_name) );

第二个窗口的地方

选区_002.png

大概在8627行

my $window_item = Gtk2::ImageMenuItem->new_with_label( $win->get_name );

将这里的$win->get_name进行UTF-8解码

 $shf->utf8_decode($win->get_name)

现在就完美了,原谅我强迫症

5#Sublime Text 3

美观的神器~不能说什么的 流畅度感人

首先通过browse packages进入插件目录,打开命令行 然后输入一下代码

git clone https://github.com/rexdf/Chinese-Localization ChineseLocalization

之后重新启动就汉化了

破解注册:

v3126、v3124、v3124、v3114、 v3103可用

—– BEGIN LICENSE —–
Ryan Clark
Single User License
EA7E-812479
2158A7DE B690A7A3 8EC04710 006A5EEB
34E77CA3 9C82C81F 0DB6371B 79704E6F
93F36655 B031503A 03257CCC 01B20F60
D304FA8D B1B4F0AF 8A76C7BA 0FA94D55
56D46BCE 5237A341 CD837F30 4D60772D
349B1179 A996F826 90CDB73C 24D41245
FD032C30 AD5E7241 4EAA66ED 167D91FB
55896B16 EA125C81 F550AF6B A6820916
—— END LICENSE ——

v3103以下可用

----- BEGIN LICENSE -----
Andrew Weber
Single User License
EA7E-855605
813A03DD 5E4AD9E6 6C0EEB94 BC99798F
942194A6 02396E98 E62C9979 4BB979FE
91424C9D A45400BF F6747D88 2FB88078
90F5CC94 1CDC92DC 8457107A F151657B
1D22E383 A997F016 42397640 33F41CFC
E1D0AE85 A0BBD039 0E9C8D55 E1B89D5D
5CDB7036 E56DE1C0 EFCC0840 650CD3A6
B98FC99C 8FAC73EE D2B95564 DF450523
------ END LICENSE ------

亲测该注册码适合X86、X64平台,Windows、Linux、OS X等系统同样适用。

6#windows下eclipse项目导入到ubuntu出现中文乱码解决方案 

原因:windows下eclipse的编码方式是GBK,而Ubuntu默认不支持GBK编码方式。  

方案:修改Ubuntu编码方式,使其支持GBK

1.修改文件

sudo vi /var/lib/locales/supported.d/local

在文件中添加

zh_CN.GBK GBK
zh_CN.GB2312 GB2312

ubuntu编辑文件内容:insert或i 退出编辑状态:esc 保存退出:wq

2.保持默认设置

sudo dpkg-reconfigure --force locales

 按下tab键选择确定回车,输出结果有gbk done 等,表示Ubuntu可以支持GBK编码了。

3.设置eclipse的编码格式 eclipse菜单栏中Windows->Preferences, 然后选择General下面的Workspace,Text file encoding下选择Other GBK,手动输入GBK三个字母, Apply,完美解决。

http://www.linuxdiyf.com/linux/27513.html

7#解决Sublime不支持GBK编码

Sublime Text默认是只支持UTF8的编码,所以有些时候,当我们打开GBK文件时候,文件内会出先部分的乱码,如下图所示

1-设置在菜单栏选择“Preferences”–>“Package Control”,或者使用快捷键CTRL+SHIFT+P调出

2-在输入框内输入“Install Package”,点击下方自动提示出来的“Install Package”

3-稍等几秒后,会弹出一个输入框,在输入框内输入“CovertToUTF8”,下面就会相应的插件,鼠标点击安装。

4-稍等几秒后,插件就会安装成功,无需重启Sublime Text,你就会发现中文内容已经能够正确显示了。

如果还是无法显示并且提示缺失编码,安装Codecs33即可解决 安装方法同安装CoverToUTF8

http://www.liuqianfei.com/article/2c4d07f8b943470983427ef5a339d987

8#解决Sublime不支持中文输入

首先,教程基于 Ubuntu 14.04/16.04 LTS,输入法使用 狗输入法 for linux,sublime text 版本为3。并且,这些环境已经正确安装完成,现在来解决,sublime text 在 linux 环境下无法使用中文输入法输入中文的状况。

1、安装相关依赖环境

代码依赖于 gtk 2.0,编译 c 需要安装 build-essential。

sudo apt-get install build-essential libgtk2.0-dev

2、保存BUG修复代码

保存下面的代码到文件sublime_imfix.c(位于~目录)

#include <gtk/gtkimcontext.h>
void gtk_im_context_set_client_window (GtkIMContext *context, GdkWindow *window)
{
 GtkIMContextClass *klass;
 g_return_if_fail (GTK_IS_IM_CONTEXT (context));
 klass = GTK_IM_CONTEXT_GET_CLASS (context);
 if (klass->set_client_window)
 klass->set_client_window (context, window);
 g_object_set_data(G_OBJECT(context),"window",window);
 if(!GDK_IS_WINDOW (window))
 return;
 int width = gdk_window_get_width(window);
 int height = gdk_window_get_height(window);
 if(width != 0 && height !=0)
 gtk_im_context_focus_in(context);
}

3、编译和拷贝SO共享库

将上一步的代码编译成共享库libsublime-imfix.so,命令

cd ~
gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC

然后将libsublime-imfix.so拷贝到sublime_text所在文件夹

sudo mv libsublime-imfix.so /opt/sublime_text/

修改文件/usr/bin/subl的内容

sudo vim /usr/bin/subl

#!/bin/sh
exec /opt/sublime_text/sublime_text "$@"

修改为

#!/bin/sh
LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "$@"

此时,在命令中执行 subl 将可以使用搜狗for linux的中文输入。

4、修改快捷方式

到目前为止还不行,因为快捷启动中并没有加载刚生产的 SO 共享库。为了使用鼠标右键打开文件时能够使用中文输入,还需要修改文件sublime_text.desktop的内容。

sudo vim /usr/share/applications/sublime_text.desktop

将[Desktop Entry]中的字符串

Exec=/opt/sublime_text/sublime_text %F

修改为

Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text %F"

将[Desktop Action Window]中的字符串

Exec=/opt/sublime_text/sublime_text -n

修改为

Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text -n"

将[Desktop Action Document]中的字符串

Exec=/opt/sublime_text/sublime_text --command new_file

修改为

Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text --command new_file"

注意:

修改时请注意双引号”“,否则会导致不能打开带有空格文件名的文件。

此处仅修改了/usr/share/applications/sublime_text.desktop,但可以正常使用了。

/opt/sublime_text/目录下的sublime_text.desktop可以修改,也可不修改。

5、检验结果

有人说需要重启,我反正没有重启,然后可以Sublime中输入中文了。

http://www.liuqianfei.com/article/3e51f07d254b464995b0f4c94cc1d69c

9#解决root用户登录的软件无法使用中文输入法的问题

仅适用于 输入法为Fcitx 参考:

http://askubuntu.com/questions/316169/in-sudo-gedit-i-can-not-use-ctrl-space-to-activate-fcitx-input-method https://fcitx-im.org/wiki/FAQ/zh-hans

按以上解释,临时解决方法可为:

 1. 创建 /etc/sudoers_env 加入以下内容 代码: 

GTK_IM_MODULE=xim 
QT_IM_MODULE=xim 
QT4_IM_MODULE=xim

2. 执行 sudo visudo 加入以下内容 代码: 

Defaults env_keep += "XMODIFIERS" 
Defaults env_file="/etc/sudoers_env"

参考地址:http://forum.ubuntu.org.cn/viewtopic.php?f=8&t=480390

10#解决eclipse在elementary OS普通用户状态下卡死问题

 改eclipse.ini在--launcher.appendVmargs下面一行添加:

 --launcher.GTK_version 2

11#解决elementary os托盘图标异常问题

编辑.desktop文件,在原来的Exec那行的前面加上env XDG_CURRENT_DESKTOP=Unity ,其他软件图标问题亦可尝试

比如网易:sudo vi /usr/share/applications/netease-cloud-music.desktop 

然后把原来的Exec那行改为:
Exec=env XDG_CURRENT_DESKTOP=Unity netease-cloud-music %U

12#解决WineQQ System tary 问题

在elementary OS上用wineqq有个问题就是消息提示问题,找了一会儿总算找到了

先安装stalonetray(http://packages.debian.org/unstable/x11/stalonetray)一般推荐直接get

sudo apt-get install stalonetray

然后修改配置文件 在~目录下 也就是当前用户的根目录下

root就是root 普通就是home/用户名

之后配置.stalonetrayrc 没有就自己创建 内容:

geometry 1x1+1325+730
transparent true
window_layer top
slot_size 24
icon_size 16

这是我的配置 显示在右下角置顶

先在终端运行stalonetray看看效果

cd /usr/bin
./stalonetray

没有你的配置文件会提示错误,然后会调用默认的,英文很简单就不说了

之后在系统设置-->启动应用程序中添加stalonetray即可

参考地址:http://www.cnblogs.com/simpleyyt/p/3417715.html

12#Ubuntu 自带vim编辑器问题

用elementary OS大概快一个月了吧,但是却很少直接vi

今天安装sql有点懒,就用了下vi 但是发现 很多问题啊,比如方向键无法使用、backspace无法使用等。 百度了下说要去掉讨厌的有关vi一致性模式 下面是解决办法:

第一个:在.vimrc中增加set nocp(测试退格依旧不行)

echo "set nocp" >> ~/.vimrc

第二种方法(完美解决):

sudo apt-get install vim 
sudo apt-get install vim-full #这个测试Ubuntu16.04无效,上面那个成了就行了 具体自测

13#禁止蓝牙自启,设置tlp电源管理自启

sudo gedit /etc/rc.local

在exit 0前面加上

tlp start
rfkill block bluetooth

类似这样的启动或者kil语句放在这里都可以开机执行

方法二:安装sysv-rc-conf,我们可以通过它去控制开机启动项,敲击:

sudo apt-get install sysv-rc-conf 
sudo sysv-rc-conf

这样我们打开了一个终端图形界面,里面很多项目,横排的数字代表runlevel,运行等级,竖排的列代表启动项名称,用小键盘或者鼠标控制光标位置,按<Ctrl+n>下一页,<Ctrl+p>上一页,空格打开/关闭选择项的开机启动状态.q退出.蓝牙的启动项应该就在第一页,[X]的状态代表开机启动,[ ]代表不启动,这里我们能看到2,3,4,5 蓝牙的四个都是[X],我们全部取消掉,这样就关闭了蓝牙设备的开机启动(原理就是将rc2,rc3,rc4,rc5目录中的S**bluetooth改为了K**bluetooth,这里我不过多介绍了)

然后我们再将桌面蓝牙状态按钮改成关闭状态,同样修改rc.local文件,方法同上,exit 0上方加入代码:

echo "disable" > /proc/acpi/ibm/bluetoot

这种方式是在相应的runlevel中关闭蓝牙,然后更改蓝牙状态.推荐度星星星星星.
http://www.cnblogs.com/henryau/archive/2012/03/04/ubuntu_startup.html

14#满足下字体需求,安装所有win7字体

去C:/Windows/Fonts/提取部分或者全部字体复制到目录win7fonts(自己建)

再复制win7fonts到/usr/share/fonts/

命令:

sudo cp win7fonts /usr/share/fonts/
cd /usr/share/fonts/win7fonts
chmod 777 *
#刷新字体缓存
sudo mkfontscale
sudo mkfontdir
sudo fc-cache -fv

就可以看到效果了,reboot后就完全安装了.

声明:TIL|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA[ZH]协议进行授权

转载:转载请注明原文链接 - Linux学习笔记-启动器图标 系统编码 输入法 编辑器


Life is very interesting. In the end, some of your greatest pains become your greatest strengths.