“在这里打开终端”的键盘快捷键

如何创建键盘快捷键,以便在nautilus(或桌面)中按F12时,我在当前目录中获得一个终端?

最后想出来..首先是sudo apt-get install dconf-tools nautilus-open-terminal ,然后运行dconf-editor并设置org/gnome/desktop/interface/can-change-accels boolean on。 然后使用此命令打开nautilus(暂时禁用Unity全局菜单):

 nautilus -q UBUNTU_MENUPROXY=0 nautilus 

现在,您可以将操作鼠标hover在文件菜单中,并在突出显示操作时通过键入键来更改加速,最后重新启动nautilus。 如果在“文件”菜单中没有看到“在终端中打开”并且刚刚安装了nautilus-open-terminal ,则可能需要先运行nautilus -q

在此处输入图像描述

在此处输入图像描述

Ubuntu 14.04及以上

如果在dconf配置中找不到can-change-accels密钥,可以尝试以下解决方案:

  1. 通过执行nautilus -q来停止nautilus
  2. 在你选择的文本编辑器中打开~/.config/nautilus/accels ,例如gedit:

     gedit ~/.config/nautilus/accels 
  3. 尝试查看是否可以找到以下行:

     ;(gtk_accel_path "/DirViewActions/OpenInTerminal" "") 
  4. 如果该行存在,请在第二个双引号段中添加键盘快捷键,并通过删除取消注释该行;

     (gtk_accel_path "/DirViewActions/OpenInTerminal" "F12") 

    这将设置F12的快捷方式。 有关所有可能的密钥代码的列表,请参阅此答案 。

    如果该行不存在,只需复制并粘贴该答案中找到的文件末尾。

  5. 保存文件并通过单击启动器/破折号中的Nautilus图标重新启动Nautilus。

Ubuntu 15.10和16.04

这里, ~/.config/nautilus/accels的相关命令是TerminalNautilus:OpenFolderLocal 。 ( NautilusOpenTerminal::open_terminal仍然存在于文件中,但似乎没有任何效果。)所以按照上面的说明操作,除了更改行

 ; (gtk_accel_path "/ExtensionsMenuGroup/TerminalNautilus:OpenFolderLocal" "") 

 (gtk_accel_path "/ExtensionsMenuGroup/TerminalNautilus:OpenFolderLocal" "F12") 

使F12成为键盘快捷键。 请注意; 再次被删除。

最后, 注销以使更改生效。

在Trusty Gnome中使用dconf-editor方法似乎不起作用。 但以下是:

在主目录中按Ctrl + h,打开.config文件夹,nautilus文件夹和accels文件;

即,打开~/.config/nautilus/accels并更改该行:

 ; (gtk_accel_path "/ExtensionsMenuGroup/NautilusOpenTerminal::open_terminal" "") 

 (gtk_accel_path "/ExtensionsMenuGroup/NautilusOpenTerminal::open_terminal" "F12") 

请注意,注释分隔符已被删除。

保存文件,注销并重新登录。

您也可以使用nautilus脚本而不是专用扩展:

 #!/usr/bin/perl -w # # Open terminal here # # Nautilus script that opens a gnome-terminal at the current location, if it's # a valid one. This could be done in shell script, but I love Perl!. # # 20020930 -- Javier Donaire  # http://www.fraguel.org/~jyuyu/ # Licensed under the GPL v2+ # # Modified by: Dexter Ang [thepoch@mydestiny.net] # 2003-12-08: Modified for Gnome 2.4 # - Added checking if executed on Desktop "x-nautilus-desktop:///" # so that it opens in /home/{user}/Desktop use strict; $_ = $ENV{'NAUTILUS_SCRIPT_CURRENT_URI'}; if ($_ and m#^file:///#) { s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg; s#^file://##; exec "gnome-terminal --working-directory='$_'"; } # Added 2003-12-08 Dexter Ang if ($_ == "x-nautilus-desktop:///") { $_ = $ENV{'HOME'}; $_ = $_.'/Desktop'; exec "gnome-terminal --working-directory='$_'"; } 

有关安装脚本和分配键盘快捷方式的说明。

扩展John F. Healy的post:

 nautilus -q sudo apt-get install nautilus-open-terminal sed -i 's/; (gtk_accel_path "\/ExtensionsMenuGroup\/NautilusOpenTerminal::open_terminal" "")/(gtk_accel_path "\/ExtensionsMenuGroup\/NautilusOpenTerminal::open_terminal" "F12")/g' ~/.config/nautilus/accels 

这应该适用于Ubuntu 14.10 Utopic Unicorn。 最后一行编辑~/.config/nautilus/accels文件。 要确保编辑成功,请尝试以下命令:

 grep NautilusOpenTerminal::open_terminal ~/.config/nautilus/accels 

从版本3.15.4开始,Nautilus不再加载accel文件(来源) 。

幸运的是,为了得到你想要的东西,有一个更好的方法。 很长的解释/有用的资源可以在这里和这里找到。 简而言之:

  1. ~/.local/share/nautilus/scripts文件夹中创建一个名为Terminal (是的,没有扩展名)的~/.local/share/nautilus/scripts其中包含以下内容:

     # !/bin/sh gnome-terminal 
  2. 使其可执行,然后关闭任何Nautilus实例:

     $ chmod +x Terminal $ nautilus -q 
  3. 创建(或编辑) ~/.config/nautilus/scripts-accels文件,添加以下行:

     F12 Terminal ; Commented lines must have a space after the semicolon ; Examples of other key combinations: ; F12 Terminal ; F12 Terminal ; F12 Terminal 
  4. 测试一下! 打开Nautilus,右键单击,然后选择Scripts> Terminal。 或者,使用刚刚配置的键盘快捷键:)

注意 :在Ubuntu 18.04上测试过。

安装nautilus-open-terminal ,确保已经杀死所有nautilus进程(总是有一个不可见的nautilus进程在运行,所以使用pgrep nautilus查找它们然后使用kill命令)。

然后,如果你启动nautilus,你应该看到在终端中打开,如果你右键单击文件列表,就像我在下面的截图中所做的那样(我在运行14.04):

在此处输入图像描述