比如说我安装了一个绿色版的sublime(.tar解压出来的不是.deb)

但是现在我右键不能打开,不能添加为默认打开方式...这个时候就比较尴尬了...

我总不能每次都cd到安装目录下然后terminal下启动然后再open文件吧...这也太麻烦了

于是我找到了这个办法:


全局文件关联(这里暂时用不到)

  /usr/share/applications/default.list

个人文件关联

  ~/.local/share/applications/mimeapps.list

你cd到这个目录下 ... 用sudo vim(或者别的你已经装好的编辑器) mimeapps.list 打开这个文件

[Default Applications] 下面就是默认打开方式

[Added Associations] 下面就是关联的程序

然后你只要有相应程序的.desktop就行了...添加到对应的关联项里

.desktop程序都放在/usr/share/applications/ 目录下


但是没用啊...我还是没有sublime的.desktop文件...很简单 仿造一个

cd 到/usr/share/applications/  下...随便打开一个比如gvim.desktop...中间comment我删了很多...大概是如下格式

[Desktop Entry]
Name=GVim
GenericName=Text Editor
GenericName[de]=Texteditor
Comment=Edit text files
Comment[zh_CN]=编辑文本文件
Comment[zh_TW]=編輯文字檔
TryExec=gvim
Exec=gvim -f %F
Terminal=false
Type=Application
Icon=vim
Categories=Utility;TextEditor;
StartupNotify=true
MimeType=text/plain;

复制一下 新建一个sublime.desktop 进行一下修改..比如Name Exec Icon 之类的 你也可以直接复制下面的代码

但icon 的位置是你sublime解压后文件所在的位置

[Desktop Entry]
Name=sublime
GenericName=Text Editor
GenericName[de]=Texteditor
Comment=Sublime Text
Comment[zh_CN]=Sublime Text
Comment[zh_TW]=Sublime Text
TryExec=sublime
Exec=sublime -f %F
Icon=/opt/sublimetext2/Icon/48x48/sublime_text.png
Terminal=false
Type=Application
Categories=Utility;TextEditor;IDE;Development
StartupNotify=true
MimeType=text/plain;

保存一下 赋予-x权限 (用sudo chmod -x sublime.desktop) -------似乎不设置也没什么关系?

chmod命令解释:http://zh.wikipedia.org/zh/Chmod  (最喜欢777了)


这时候你发现还是不行...貌似"sublime"命令和sublime的执行文件没有关联起来...那么我Exec的sublime就没用了

这个时候还要建立一下一下执行文件和命令之间的link

ln命令解释 :http://www.cnblogs.com/joeblackzqq/archive/2011/03/20/1989625.html

ln -s "/opt/sublimetext2/sublime_text" /usr/bin/sublime

opt/sublimetext2/sublime_text 这个是你自己的安装路径
后面sublime 可以自己随便设置

这时候你发现你可以在terminal下用 sublime 这个命令打开sublime_text了


现在你应该可以发现文本文档的右键有一个sublime的打开方式了...

Linux图片修改工具我还没用过...这里修改成功的图片后我就不放了...


虽然是一个很简单的操作但是从这里学了linux的几个命令 也知道一些linux下的文件关联操作 对terminal也多掌握了一些...
算是分享经验了...

Linux 设置文件默认打开方式的更多相关文章

  1. MyEclipse设置文件默认打开方式

    MyEclipse设置文件默认打开方式 依次点击: [MyEclipse]-> [Preferences] -> [General] -> [Editors] -> [File ...

  2. sublime 设置文件默认打开方式

    win7,sublime text 3 无法关联文件 删除 HKEY_CURRENT_USER\Software\Classes\Applications下的Sublime_Text.exe项.你就发 ...

  3. eclipse中设置文件默认打开方式

  4. 通过Powershell修改文件默认打开方式

    修改原理 详情: Windows下通过注册表修改某个类型文件的默认打开方式和文件图标 脚本详情: Github:Change_default_programs.ps1 描述: 至少在Windows10 ...

  5. Android加载SD卡目录,文件夹遍历,图片设置,设置文件对应打开方式等

    此案例主要说的是Android使用GridView加载SD卡下所有目录,文件夹多层遍历,文件图标修改,设置文件对应打开方式等功能. 如图: 代码: public class GridViewFile ...

  6. 删除win10系统下文件默认打开方式的关联-win10配置

    现象 文件默认打开方式错误 链接到老的打开软件 无法图形化重定义关联软件 文件图标关联异常 1. 打开注册表编辑器 win + R regedit 2. 修改注册表 找到以下注册表路径,找到指定的文件 ...

  7. 关于Sublime Text不能在打开方式中显示并且不能被设置成默认打开方式的问题

    解决方法: 1. Windows 输入 regedit 后 回车 打开注册表 2.找到 "HKEY_CLASSES_ROOT\Applications\sublime_text.exe\sh ...

  8. Ubuntu 设置文件默认打开的应用

    右键单击该文件,然后点击属性,打开属性面板 然后进入open with的选项,选择应用后,点击 set as default

  9. 清理文件默认打开方式.bat

    @echo offsetlocal enabledelayedexpansionset "ext=%~x1":loopif defined ext set "ext=!e ...

随机推荐

  1. UVa 729 The Hamming Distance Problem【枚举排列】

    题意:给出数组的长度n,给出h,表示这个数组里面含有h个1,求其所有的排列 用next_permutation就可以了 #include<iostream> #include<cst ...

  2. 分享一个简单好用的ipv6正则表达式

    网上找了好几个,都不太好使.比较严谨的又运行缓慢,而且文本中多处含ipv6的时候,又提取不出全部的ipv6. 故分享一个不太严谨效率又高的ipv6正则表达式: ([a-f0-9]{1,4}(:[a-f ...

  3. 记intel杯比赛中各种bug与debug【其三】:intel chainer的安装与使用

    现在在训练模型,闲着来写一篇 顺着这篇文章,顺利安装上intel chainer 再次感谢 大黄老鼠 intel chainer 使用 头一次使用chainer,本以为又入了一个大坑,实际尝试感觉非常 ...

  4. CF949C Data Center Maintenance(建图+强联通分量)

    题意 有 n 个信息中心,第 i 个信息中心要在第 ti 个小时维护,维护期间信息不能被获得. 每个用户的数据都有两份备份,第 i 个用户的数据放在信息中心 c(i,1) 和 c(i,2). 现在要挑 ...

  5. PHP取不定个数数组交集

    最近有个需求,有一个N个二维数组,N是动态的,不固定个数,现需取这N个数组的交集内容. 用到的函数是array_intersect_assoc 用法 $result_arr = array_inter ...

  6. 今日SGU 5.26

    #include<bits/stdc++.h> #define de(x) cout<<#x<<"="<<x<<endl ...

  7. F - Humidex(1.4.2)

    Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Descr ...

  8. Docker Network Configuration 高级网络配置

    Network Configuration TL;DR When Docker starts, it creates a virtual interface named docker0 on the ...

  9. JAVA并发-为现有的线程安全类添加原子方法

    JAVA中有许多线程安全的基础模块类,一般情况下,这些基础模块类能满足我们需要的所有操作,但更多时候,他们并不能满足我们所有的需要.此时,我们需要想办法在不破坏已有的线程安全类的基础上添加一个新的原子 ...

  10. 19.浏览器Window服务($window)

    转自:https://www.cnblogs.com/best/tag/Angular/ 引用浏览器的window对象.默认浏览器的window是全局的根对象. 示例代码: <!DOCTYPE ...