用于打开新的 Nautilus 窗口并将其调出的键盘快捷键/命令

用于打开新的 Nautilus 窗口并将其调出的键盘快捷键/命令

打开新窗口(打开文件夹)的快捷方式是什么。为此,我必须转到文件夹选项并右键单击,然后单击打开新窗口。

或者我必须将焦点放在文件夹图标上或打开一个文件夹然后按

Ctrl+N

为了打开一个新窗口,是否有任何直接特定的命令可以在 ubuntu 中打开一个新窗口。

答案1

默认情况下,启动文件浏览器的键盘快捷键是特殊键Explorer,某些键盘上可用(以及其他用于启动音乐播放器、互联网浏览器等的特殊键)。您可以在快捷方式部分键盘设置:将快捷键盘快捷键截图 方式更改Home folder为其他内容。

答案2

打开常规窗口 (12.04 / 14.04+)

我假设您希望有一个组合键来打开一个新的 Nautilus 窗口(并将其提升),无论前面是什么应用程序。

您可以使用一个小脚本并将组合键添加到快捷方式中来运行它。

  • 如果尚未安装,请安装wmctrl

    sudo apt-get install wmctrl
    
  • 将下面的脚本保存为“new_window”并使其可执行。该脚本对于 14.04 和 12.04 有一点不同:

对于 12.04

#!/usr/bin/env python
import subprocess
import socket

def read_windowlist():
    get_pid = subprocess.Popen(["wmctrl", "-l", "-p"], stdout=subprocess.PIPE)
    wlist = [(item[14:21].split(" ")[0], item.split(socket.gethostname()+" ")[-1]) for item in get_pid.communicate()[0].decode("utf-8").split("\n")]
    return wlist

def read_pid():
    get_pid = subprocess.Popen(["pidof", "nautilus"], stdout=subprocess.PIPE)
    return get_pid.communicate()[0].decode("utf-8").replace("\n", "")

def find_window():
    nautilus_window = [item for item in read_windowlist() if item[0] == read_pid()][-1]               
    subprocess.Popen(["wmctrl", "-a", nautilus_window[1]])
    subprocess.Popen(["nautilus"])

find_window()

对于 14.04+

#!/usr/bin/env python3
import subprocess
import socket

def read_windowlist():
    get_pid = subprocess.check_output(["wmctrl", "-lp"]).decode("utf-8").split("\n")
    return [(item[14:21].split(" ")[0], item.split(socket.gethostname()+" ")[-1]) for item in get_pid]

def read_pid():
    get_pid = subprocess.Popen(["pidof", "nautilus"], stdout=subprocess.PIPE)
    return get_pid.communicate()[0].decode("utf-8").replace("\n", "")

def find_window():
    nautilus_window = [item for item in read_windowlist() if item[0] == read_pid()][-1]                       
    subprocess.Popen(["wmctrl", "-a", nautilus_window[1]])
    subprocess.Popen(["nautilus", "--new-window"])

find_window()

现在添加一个命令和一个你喜欢的组合键来运行脚本(System Preferences > Keyboard > Shortcuts > Custom Shortcuts)

命令:

/path/to/script/new_window (don't forget to make the script executable)

在特定目录中打开新窗口(14.04+)

要在 nautilus 中打开所有内容之上的特定目录,请调用下面的小脚本以目录作为参数打开目录(在您的组合键下),这样就不必使用以下命令:

nautilus <directory>

要打开目录,可以使用以下命令:

python3 <script> <directory>

如何使用
此脚本还使用wmctrl。要安装它:

sudo apt-get install wmctrl

剧本

#!/usr/bin/env python3

import subprocess
import sys

window = sys.argv[1]

subprocess.call(["nautilus", window])
wname = '"'+window.split("/")[-1]+'"'
subprocess.Popen(["wmctrl", "-a", wname])

将其复制到一个空文件中,另存为raise_nautilus.py并通过以下命令运行:

python3 /path/to/raise_nautilus.py </path/to/folder/to/open>

*注意:如果您的目录包含空格,请使用引号将其引起来。

答案3

我也在想这个问题,并找到了类似的解决方案muru 的回答

即使我激活了,默认Home Folder快捷方式也不起作用(Ubuntu 19.10)

无论如何,只需创建一个名为 as 命令的新快捷方式Open Nautilusnautilus选择所需的快捷键(我决定选择Super+ E)。

此命令甚至CLI 相当通用打开当前文件夹的窗口。

相关内容