我想知道如何在文件管理器中默认添加一个额外的窗格(按 F3)。
目前,我添加了额外的窗格,当我关闭文件管理器时,我必须再次添加它。
这是一种捷径,但当我拥有它时我会感觉更有效率,而且我不会想着系统地添加它。
答案1
对于 12.04 / 12.10
我将使用vim
编辑器,但如果您不知道,请随意用vim
(nano
简易终端编辑器)或gedit
(gui 编辑器)替换。
安装 xdotool
您可以xdotool
通过软件中心安装:工具。
或通过
sudo apt-get update && sudo apt-get install xdotool
创建自定义脚本来启动 nautilus
创建包含以下内容的脚本
#!/bin/bash
nautilus $1 && sleep 0.5 ; xdotool key --clearmodifiers F3
并将其保存在某个地方,假设我们将其保存为~/scripts/nautilus.bash
使用 使脚本可执行chmod +x ~/scripts/nautilus.bash
。现在测试脚本,输入scripts/nautilus.bash
应该会打开 nautilus,一瞬间之后你就会看到额外的窗格。
修改桌面文件
应用程序的桌面文件决定了您的应用程序在 Unity 启动器和仪表板中的显示方式,以及单击它时会发生什么。
您可以使用locate来查找其位置
locate nautilus.desktop
这将返回
/usr/share/applications/nautilus.desktop
现在,为了确保不会发生任何不好的事情,让我们备份一下:
sudo cp /usr/share/applications/nautilus.desktop /usr/share/applications/nautilus.desktop.bak
现在我们可以安全地编辑它(如果您不知道,请记住使用gedit
或):nano
vim
sudo vim /usr/share/applications/nautilus.desktop
现在你会看到以下内容(我删除了中间的一些内容)
[Desktop Entry]
Name=Files
Comment=Access and organize files
Exec=nautilus %U
...
[Desktop Action Window]
Name=Open a New Window
Exec=nautilus
OnlyShowIn=Unity;
我们感兴趣的是这些Exec=
行,它们决定了我们点击应用程序时会发生什么。我们需要更改这两条行(下面的一行[Desktop Action Window]
是 Unity quicklist 中的条目)。
现在用脚本的位置替换行nautilus
中的代码,在我的情况下(顶部的代码应该保留)。现在保存并退出。Exec=
/home/gerhard/scripts/nautilus.bash
%U
测试一下
如果您将 nautilus 锁定到启动器,它将会消失,在 Dash 中搜索“文件”并单击它应该会打开 nautilus 并使用额外的窗格!
笔记sleep
如果它只是有时起作用(或者根本不起作用),也许可以通过增加脚本中 该函数的值来增加执行按键之前等待的时间。
答案2
跑步:
nautilus && sleep 0.5 ; xdotool key --clearmodifiers F3
您必须xdotool
先安装。
答案3
我发现我需要更详细地使用 xdotool。在此过程中,我决定使用一个脚本,该脚本为新面板提供可选的第二个目录参数,可能会很有用:
if [ ! -d "$1" ]; then
echo "parameter 1 not a directory"
exit 1
fi
theSubDir=${1##/*/} #Deletes /*/ from front of $1, giving nautilus window title
file_browser_id=$(xdotool search --name "$theSubDir" | head -1)
if [ -n "$file_browser_id" ]; then # nautilus already open in directory
exit
fi
nautilus "$1"
sleep 0.5
file_browser_id=$(xdotool search --name "$theSubDir" | head -1)
if [ -z "$file_browser_id" ]; then
echo no nautilus
exit
fi
xdotool search --name "$theSubDir" windowactivate --sync key --window 0 F3
if [ $# -gt 1 ]; then
if [ ! -d "$2" ]; then
echo "source parameter not a directory"
exit 1
fi
xdotool search --name "$theSubDir" windowactivate --sync \
key --window 0 --clearmodifiers Ctrl+l # location bar to path
xdotool search --name "$theSubDir" windowactivate --sync type "$2"
xdotool search --name "$theSubDir" windowactivate --sync \
key --window 0 --clearmodifiers Ctrl+l Return
fi