在现有窗口中将 Nautilus 作为新选项卡打开

wim*_*wim 30 gnome browser nautilus window-manager tabs

目前,如果我单击启动器、快捷方式图标等,我将获得一个新的 Nautilus 窗口。如果已经有一个Nautilus窗口打开,我宁愿它在现有窗口的新标签打开(如如果我做了Ctrl+ T,并浏览到新的位置)。我怎样才能做到这一点?

zub*_*uba 19

我为此编写了一个 bash 脚本和一个启动器。

  1. 首先,创建文件:

    mkdir ~/bin && gedit ~/bin/nautilus-ctrl-t.sh
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后粘贴以下内容,并保存:

    if [ "$(wmctrl -xl | grep "nautilus\.Nautilus")" == "" ]; then
        nautilus "$1" &
    else  
        #Save old clipboard value
        oldclip="$(xclip -o -sel clip)"
    
        echo -n "$1" | xclip -i -sel clip
        #wmctrl -xF -R nautilus.Nautilus && xdotool key "ctrl+t" "ctrl+l" && xdotool type "${1}" && xdotool key Return
        wmctrl -xF -R nautilus.Nautilus && xdotool key ctrl+t ctrl+l ctrl+v Return
    
        #Restore old clipboard value
        echo -n "$oldclip" | xclip -i -sel clip
    fi
    
    Run Code Online (Sandbox Code Playgroud)
  3. 然后运行命令:

    sudo chmod u+x ~/bin/nautilus-ctrl-t.sh
    
    Run Code Online (Sandbox Code Playgroud)
  4. 现在,要创建启动器文件,请运行以下命令:

    gedit ~/.local/share/applications/Nautilus-Ctrl-t.desktop
    
    Run Code Online (Sandbox Code Playgroud)
  5. 粘贴以下内容并保存:

    [Desktop Entry]
    Type=Application
    Name=Nautilus-Ctrl-t
    Comment=Launches Nautilus if not yet, otherwise opens a new tab in it
    Categories=FileManager;GNOME;
    Icon=/usr/share/icons/gnome/48x48/apps/system-file-manager.png
    Exec=/bin/bash -c ~/bin/nautilus-ctrl-t.sh
    Terminal=false
    
    Run Code Online (Sandbox Code Playgroud)
  6. 注销或重新启动以更新应用程序列表,您就完成了。

试试那个。希望能帮助到你。

更新

添加了一个位置作为脚本参数

更新 2

用 xclip 替换 xdotool 类型

更新 3

通过添加数字清理过程。添加了 mkdir 命令。更新了第一个“if 语句”,因为如果 nautilus 正在管理桌面,它将有一个 pid,但没有活动窗口,因此最好使用 wmctrl。如果有空格,在第一个参数周围添加引号。将 nautilus 的图标更改为 .desktop 文件中的系统默认值。


des*_*gua 4

我相信这是不可能的,因为
1)这是Ubuntu Brainstorm建议的想法,但尚未实现, 2)据说在分析源代码之后Shiki没有找到一种方法将此调用传递给 nautilus


Ash*_*shu 1

德斯瓜说的都有几分道理。

您可以选择的一个选项是按Ctrl+T在同一窗口中打开新选项卡。

或者F3按 Nautilus 进行分割视图