Android with root Git for version control Lircd with Raspberry Pi for IR receiver and sender Tips for Windows Depolying your own password management tool -- KeeWeb Depoly your flask app into Heroku Fix shit IE code manually ISBN to Book Category by Scraping DangDang A Generic Makefile for C/C++ Program Configure Raspberry pi Remove watermark with PyPDF2 tips for docker Anaconda+TensorFlow+CUDA Snippets Configure Remote Mathematica Kernel Build your own ngrok server Access Array SSL VPN 使用Rstudio制作html5幻灯片 tips for Mac OS X system Tips for ipython notebook 配置Ubuntu server + Openbox (Obuntu) tips for Vimperator tips for Vim 安装CUDA My First Jekyll Blog rsync常见选项 在Linux中读取Ipod touch的文件 tip for texmacs 在VPS上建站的一些tip Gnuplot绘图札记 Samba系统和autofs自动挂载 Linux中alsamixer声卡无法录音 搭建自己的RSS订阅器——Tiny Tiny RSS Grub2引导安装Ubuntu awk tips 将Ubuntu系统装入U盘 The Great Rtorrent 编译GCC 再这样剁手!!!该死的libgd 使用ulimit进行资源限制 使用SSH代理上IPV6 使用RCurl抓取网页数据 修复Ubuntu Grub记 openbox中的文件关联 在Ubuntu 12.04下编译qtiplot 处理BCM4312网卡驱动纪实 配置我的Ubuntu Server记 Cygwin杂记 Linux 使普通用户具有以超级权限执行脚本 让firefox自定义地处理文件类型 WordPress优秀主题及插件 在phpcloud上搭建wordpress UBUNTU下用pptpd做VPN server ubuntu升级内核过后的一些问题 安装telnet服务 kubuntu札记 64位kubuntu札记 统计软件R Virtualbox stardict星际译王 Ubuntu重装windows系统后的grub引导修复 SSH服务及花生壳域名解析 采用cbp2make工具由code::blocks工程创建makefile文件 UBUNTU 札记

openbox中的文件关联

2013年07月28日

用Ubuntu server+openbox搭建的系统遇到一个很奇怪的问题,在firefox或其他程序中使用右键中“打开所在文件夹”时并非采用thunar来打开文件夹,而是实用audacious来扫描文件夹中得音乐。

显然,这是和文件关联有关,经过一番搜索,找到两个相关的程序,xdg-opengnome-open,而文件夹对应的mime typeinode/directory。貌似xdg-open和具体桌面无关,而gnome-open使用在gnome桌面环境下。对于一个文件,他们可以根据文件类型结合系统中已关联的程序列表来寻找可以打开此文件。于是一个小技巧是,对于任何文件都可以使用gnome-open来打开,这对我这种常记不得打开文件的程序名的人来说是个好消息。

话归正传,linux得默认程序管理貌似很混乱,有很多文件来控制,估计主要是有针对不同用户可设置性更强的需求。既然搞不懂各个配置文件的优先级,对于我这种个人用户来说,干脆把看到的都改过来好了。

配置文件主要存在于以下位置:

全局配置  
/etc/gnome/defaults.list  
/usr/share/applications/defaults.list -> /etc/gnome/defaults.list
/usr/share/applications/mimeapps.list
/usr/share/applications/mimeinfo.cache  
个人配置  
~/.local/share/applications/mimeapps.list  
~/.local/share/applications/mimeinfo.cache  

文件内基本格式为mime-type=program1.desktop;program2.desktop;...,等号左边为文件得mimt type,右边为打开该文件需要的desktop文件。这些desktop文件是打开该文件需要的命令得一个包装,主要位于~/.local/share/applications/usr/share/applicaitons目录下,其基本格式可以参考官方文档,一个简单的办法就是复制一个自己改。可以按顺序指定多个desktop,当前面的程序并不存在时,将自动使用后面的来打开。

于是,我将各个文件里inode/directory这一项后面的audacious.desktopThunar-folder-handler.desktop交换位置,问题就解决了。

开始得时候,我并没找到mimeinfo.cache这个文件,其实这个缓存文件具有最大的优先级,所以改了后总不对。

注意,未识别出mime类型时xdg-open将默认使用application/octet-stream类型,更改后使用update-mime-database /usr/share/mime重新载入一下。