如何让Geany成为Ubuntu上的默认编辑器?

我实际上想要将我的Ubuntu 12.04上的默认文本编辑器从nano更改为Geany。 当我使用这段代码时:

update-alternatives --config editor 

..我没有在列表中看到Geany。

那么要添加Geany,这应该可行吗?

 update-alternatives --install /usr/bin/geany geany /usr/bin/geany 10 

另外,在旁注中,您能告诉我您是否会建议我将默认编辑器从nano更改为Geany,为什么?

命令行方式是:

 sudo update-alternatives --install /usr/bin/editor editor /usr/bin/geany 10 

然后使用sudo update-alternatives --config editor在必要时选择Geany。

作为命令行方法的图形替代方案,请考虑使用Gnome Alternativessudo apt-get install galternatives )。 运行GAlternatives ,在左栏中选择编辑器 ,然后在右侧添加/选择Geany。

作为替代方案,这对我也有用:

 xdg-mime default geany.desktop $(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g') 

该行获取gedit注册的所有MimeTypes,执行一些清理( sed命令),最后将geany设置为它们的默认应用程序。

我在这里找到了一些关于配色方案的有用信息。

这有点晚了,但我认为这可能对某人有所帮助。

我的问题是我不喜欢复制和粘贴我不理解的东西,所以这里是对目前答案的解释。

首先,这里有两个问题,两个答案都是正确的:

  1. 默认的命令行编辑器 – 由’izx’解决
  2. GUI应用程序的桌面会话中的文件类型(mime-type)关联 – 由’Steve’解决。

这里有一个更详细的信息:

  1. 命令行解决方案 – 来自’izx’

    • 将geany(GUI应用程序)添加到备用编辑器列表并将其设置为默认值。
    • 我一直认为编辑器通常保留给基于文本的编辑器,如vi,vim,nano等,但我刚刚检查过,这似乎也可以。
    • 结果意味着您可以使用所选的默认值来打开文件,例如:
      • 在控制台中键入“editor myFile.txt”。
      • 进入编辑模式更少(参见http://www.cyberciti.biz/faq/edit-file-when-youre-viewing-withmore-less/ )
  2. 哑剧型解决方案 – 来自’Steve’

在文件级别,有两个重要列表:

/usr/share/applications/defaults.list – 系统默认列表。

~/.local/share/applications/mimeapps.list – 用户个人桌面会话默认列表

命令是做什么的?

来自xdg-mime手册页(man xdg-mime)

 xdg-mime - command line tool for querying information about file type handling and adding descriptions for new file type 

xdg-mime default...命令将条目添加到用户个人列表。

让我们打破命令。

命令:

 xdg-mime default geany.desktop $(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g') 

该命令可以读作:

将geany.desktop设置为$(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')输出的mime-type的默认应用程序$(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g')

看着

 $(grep MimeType /usr/share/applications/geany.desktop | sed 's/MimeType=//' | sed 's/;/ /g') 
  • 从geany.desktop文件中获取所有mime类型
  • 删除“MimeType =”
  • 替换“;” 用“”
  • 给我们:
    text/plain text/x-chdr text/x-csrc text/x-c++hdr text/x-c++src text/x-java text/x-dsrc text/x-pascal text/x-perl text/x-python application/x-php application/x-httpd-php3 application/x-httpd-php4 application/x-httpd-php5 application/xml text/html text/css text/x-sql text/x-diff

在运行命令后查看用户个人文件,我们可以看到为geany.desktop应用程序设置的所有文件关联:

 [Default Applications] x-scheme-handler/mailto=userapp-Thunderbird-ZP00XW.desktop message/rfc822=userapp-Thunderbird-ZP00XW.desktop application/x-extension-eml=userapp-Thunderbird-ZP00XW.desktop application/x-perl=sublime_text.desktop text/plain=geany.desktop text/x-chdr=geany.desktop text/x-csrc=geany.desktop text/x-dtd=sublime_text.desktop text/x-java=geany.desktop text/mathml=sublime_text.desktop text/x-python=geany.desktop text/x-sql=geany.desktop text/x-c++hdr=geany.desktop text/x-c++src=geany.desktop text/x-dsrc=geany.desktop text/x-pascal=geany.desktop text/x-perl=geany.desktop application/x-php=geany.desktop application/x-httpd-php3=geany.desktop application/x-httpd-php4=geany.desktop application/x-httpd-php5=geany.desktop application/xml=geany.desktop text/html=geany.desktop text/css=geany.desktop text/x-diff=geany.desktop 

知道这一点,这是我的特殊问题以及我是如何解决它的。

问题:

我想从“gedit” – >“sublime text”更改Nautilus中的默认“文件打开”应用程序。

解:

使用以下命令查找gedit的系统默认值:

 $less /usr/share/applications/defaults.list | grep gedit application/x-perl=gedit.desktop text/plain=gedit.desktop text/x-chdr=gedit.desktop text/x-csrc=gedit.desktop text/x-dtd=gedit.desktop text/x-java=gedit.desktop text/mathml=gedit.desktop text/x-python=gedit.desktop text/x-sql=gedit.desktop 

将“gedit”替换为“sublime_text”并将条目添加到我的个人defaults.list的“默认应用程序”部分

 application/x-perl=sublime_text.desktop text/plain=sublime_text.desktop text/x-chdr=sublime_text.desktop text/x-csrc=sublime_text.desktop text/x-dtd=sublime_text.desktop text/x-java=sublime_text.desktop text/mathml=sublime_text.desktop text/x-python=sublime_text.desktop text/x-sql=sublime_text.desktop 

因为有评论表明接受的答案不正确我觉得我应该指出这个问题不能有一个答案。 如果问题已更改为指定CLI并且GUI的查询已移至新线程,则可以消除混淆。 我觉得太迟了。

无论如何,对于Ubuntu 14.04下的gnome上的nautilus(aka文件)。 并且考虑到已接受的答案,您可能(像我一样)期望等效的是:
donotdothisssudo update-alternatives --install /etc/alternatives/gnome-text-editor gnome-text-editor /usr/bin/geany 10

这就是我的想法,它打破了链接,所以不要这样做! 如果你这样做,这就是他们对我的意义:
lrwxrwxrwx /usr/bin/gnome-text-editor -> /etc/alternatives/gnome-text-editor lrwxrwxrwx /etc/alternatives/gnome-text-editor -> /usr/bin/gedit

在修复此错误时,我重新创建了以下链接:
lrwxrwxrwx /usr/bin/gnome-text-editor -> /etc/alternatives/gnome-text-editor lrwxrwxrwx /etc/alternatives/gnome-text-editor -> /usr/bin/geany

因为我所做的一切都是替换二级simlink,我在我的系统中有所需的响应,我的猜测是任务就是这样:
sudo ln -s /usr/bin/geany /etc/alternatives/gnome-text-editor

但是,运行CLI命令来更改GUI特定的内容,必定是错误的。 在搜索此更改选项时,我的手拿我的地方是nautilus菜单系统,在单个文件类型设置旁边。 然而,我去那里的唯一原因是因为这是解决方案的一部分。 在我看来,如果您遵循DPKG(更新替代品)的逻辑,并将其包含在您的发行版中,那么您不希望像Nautilus这样的用户空间应用程序干扰您的设置管理器应用程序。 我修改这个问题的简单建议是将新的编辑器设置控件添加到设置>>详细信息>>默认应用程序,这需要从用户的角度来看是一个新页面。 然后,Nautilus团队需要更改其菜单,以便将用户重定向到该新页面。 这会影响到我的手让我去寻找设置的位置,我的手应该把我带走,并管理单点输入过程进入系统设置。 看起来这个变化需要在debian的替代品中,虽然我只是在猜测。 当然,如果没有Nautilus团队的想法,那么就没有必要收取这样的事情,他们还需要指定API或等效机制。

我视图中的设置页面需要涵盖默认的gnome编辑器选择和用于打开每个文件的应用程序(这将替换Nautilus提供的当前function)。

我发布这个作为一个传递的想法,如果它吸引你,你可以随意开它。 可悲的是,我不知道自己需要的程序和协议。