nokの雑記

技術的な内容にしようと思ったけど無理でした。

Ubuntuで拡張子関連付けがうまくいかないのでupdate-desktop-databaseをしたけどコケる

Sublime-textがOpen withのリストに出てこないので登録できないものかと思って調べていたらこんなページが。

askubuntu.com

これ幸いと回答を見ると、解決手順が2つにわかれています。

  1. /usr/share/applications/sublime_text.desktop~/.local/share/applications/sublime_text.desktopにコピー
  2. sudo update-desktop-databaseを実行

これらのうち、1番目についてはすでに~/.local/share/applications/sublime_text.desktopにファイルがあったので省略し、2を実行したらこんなエラーが。

$ sudo update-desktop-database 
Error in file "/usr/share/applications/evince-previewer.desktop": "" is an invalid MIME type ("" does not contain a subtype)
Error in file "/usr/share/applications/evince.desktop": "" is an invalid MIME type ("" does not contain a subtype)

2つのファイル(両方ともevinceなるものに関連)でエラーが出ているようです。これも調べるとちゃんと情報が出てくるんですね。先駆者すごい。

ubuntuforums.org

こちらを見ると、ファイル内に邪魔なセミコロンがあってエラーが出るようです。該当のファイルを開いてみるとこんな感じで、ちょうどカーソルの位置に邪魔なセミコロンがあります。これを消したら2のコマンドが通るようになりました。

f:id:nok0714:20171103170314p:plain


ちなみに~/.local/share/applications/sublime_text.desktopはランチャーにロックしたときに自動で生成されるものだったので中身がめちゃくちゃでした。結局1のコピーをやり直しましたとさ。