“在此处打开终端”的键盘快捷键


69

如何创建键盘快捷方式,以便在按F12Nautilus(或台式机)时按一下,可在当前目录中获得一个终端?


1
补充提示,请勿sudo在上使用dconf-editor,而无需运行它。发现这很困难,花了几分钟重新启动并重新启动,然后才弄清楚。
速度漂移2014年

Imo,这是对这个问题的最佳答案:askubuntu.com/a/696901/499347(简短,易懂,它确实有效)
dreua

Answers:


50

最终弄清楚了..首先sudo apt-get install dconf-tools nautilus-open-terminal,然后运行dconf-editor并设置org/gnome/desktop/interface/can-change-accels布尔值。然后使用以下命令打开nautilus(以临时禁用Unity全局菜单):

nautilus -q
UBUNTU_MENUPROXY=0 nautilus

现在,您可以将鼠标悬停在文件菜单中的动作上,并在动作突出显示时通过键入键来更改加速,最后重新启动Nautilus。如果您在文件菜单中没有看到在终端中打开并已经安装nautilus-open-terminal,您可能需要首先运行nautilus -q

在此处输入图片说明

在此处输入图片说明

Ubuntu 14.04及更高版本

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

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

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

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

    (gtk_accel_path "<Actions>/DirViewActions/OpenInTerminal" "F12")
    

    这会将快捷方式设置为F12。有关所有可能的键代码的列表,请查阅 此答案

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

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

Ubuntu 15.10和16.04

在此,相关命令~/.config/nautilus/accelsTerminalNautilus:OpenFolderLocal。(NautilusOpenTerminal::open_terminal仍然存在于文件中,但似乎没有任何效果。)因此,请按照上面的说明进行操作,只不过更改该行

; (gtk_accel_path "<Actions>/ExtensionsMenuGroup/TerminalNautilus:OpenFolderLocal" "")

(gtk_accel_path "<Actions>/ExtensionsMenuGroup/TerminalNautilus:OpenFolderLocal" "F12")

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

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


F12键的key

1
如答案所示,使用dconf-editor。使用gconf-editor可能无济于事。
卡迪尔

在Ubuntu 14.04上不为我工作
加深

@DpN对于14.04,请尝试在文件中进行编辑,~/.config/nautilus/accels并添加,如(gtk_accel_path "<Actions>/DirViewActions/OpenInTerminal" "F12"),然后重新启动nautilus。
2014年

无法正常工作,我在accels文件中的“ Connect to server”行之后插入了;
加深2014年

12

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

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

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

; (gtk_accel_path "<Actions>/ExtensionsMenuGroup/NautilusOpenTerminal::open_terminal" "")

(gtk_accel_path "<Actions>/ExtensionsMenuGroup/NautilusOpenTerminal::open_terminal" "F12")

请注意,注释定界符已被删除。

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


3
是的,这是我在已接受答案的评论中已经建议的方法。
2014年

这种方法非常有效
Hasan 2015年

2
无需注销并再次登录。一个简单nautilus -q的工作。
ADN

我对此进行了测试3.28.1,但没有效果。有人可以测试相同版本吗?
orschiro

我没找到那条线
Vitor Abella

10

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

Fortunatelly有更好的方法来获得您想要的东西。详细说明/有用的资源可以在这里这里找到。简而言之:

  1. 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:
    ; <Control>F12 Terminal
    ; <Alt>F12 Terminal
    ; <Shift>F12 Terminal
    
  4. 测试一下!打开Nautilus,右键单击,然后选择“脚本”>“终端”。或者,使用刚刚配置的键盘快捷键:)

注意:已在Ubuntu 18.04上测试。


1
谢谢,确认可以在Ubuntu 18.04 <3中工作
Karlsson

2
仍适用于19.04。谢谢!
Alex K.

1
仍适用于Ubuntu 18.04.2。谢谢!
JJD

谢谢,使用Ubuntu 18.04
Naami

如果在编辑之前重新打开nautilus scripts-accels,则必须nautilus -q再次运行。应该将该指令下移吗?
Matthias Dailey

5

您也可以使用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 <jyuyu@fraguel.org>
# 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='$_'";
}

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


确切地说,使用Nautilus脚本而不是专用扩展名可以如何帮助为其分配键盘快捷键?
MestreLion 2014年

1
@MestreLion感谢您的评论。该答案是从另一个问答中合并的(请查看编辑日志以获取更多详细信息)。这就是为什么它没有关于分配快捷方式的部分。
谷氨酰胺

哦,我明白了。那不好意思了!不幸的是,这些不同的(尽管相关的)问题被合并了。对于另一个问题,您的答案很好,但是对于这个问题,答案是不完整的。
MestreLion 2014年

2

要扩展John F. Healy的帖子,请执行以下操作:

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

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

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

1

安装后nautilus-open-terminal,确保杀死了所有的nautilus进程(始终有一个不可见的nautilus进程在运行,因此请使用pgrep nautilus找到它们并使用,然后使用kill命令)。

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

在此处输入图片说明


4
问题是我使用列表视图,如果文件夹包含许多文件,则没有空白。现在,我在显示设置的列表视图中使用树作为临时解决方案。
xgdgsc 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.