有什么方法可以保存 Nautilus 状态?我通常会打开更多窗口和更多选项卡,并按参数进行划分,但每次关闭系统时都会丢失它们,这很令人沮丧。
答案1
没有(简单的)方法可以做到这一点,但是这个问题有一个脚本可以提供帮助:
请注意,需要安装xdotool
和wmctrl
才能使其正常工作。
使用该脚本作为基础,您可以编写一个脚本来自动打开一组定义的窗口和选项卡。这只是提供一个大概的想法,尚未经过测试。例如,我不知道如何wmctrl
与多个 Nautilus 窗口配合使用。我确信循环/变量/引号也可以更好(我还没有尝试模拟二维数组)。
windows=2
tabs1=(/home/user/Documents /home/user/Downloads)
tabs2=(/usr/share /etc)
#Save old clipboard value
oldclip="$(xclip -o -sel clip)"
#The following would be the cleanest way to code this:
#while i < $windows; do
#open nautilus
#for tab in tabs; do
#open tab in this window
#done
#done
nautilus ${tabs1[0]}
for tab in ${tabs1[@]}; do
i=0
for tab in ${tabs[@]}; do
if [ $i -gt 0]; then
echo -n tab | xclip -i -sel clip
wmctrl -xF -R nautilus.Nautilus && xdotool key ctrl+t ctrl+l ctrl+v Return
fi
i=$[$i + 1]
done
done
#Restore old clipboard value
echo -n "$oldclip" | xclip -i -sel clip
最好的方法是循环遍历所有窗口和所有选项卡。它会打开 Nautilus 的选项卡 1,然后打开选项卡 2,等等。它使用剪贴板存储选项卡位置,并将其粘贴到位置字段中。
每次关机前,您都需要手动设置窗口数量和每个窗口内的选项卡。但我意识到您可以反向使用脚本来保存打开的选项卡:
#Save old clipboard value
oldclip="$(xclip -o -sel clip)"
wmctrl -xF -R nautilus.Nautilus && xdotool key ctrl+l ctrl+c
tab=$(xclip -o -sel clip)
tabs[0]=""
i=1
while [ "$tab" != "$tabs[0]"]; do
tabs[i]="$tab"
wmctrl -xF -R nautilus.Nautilus && xdotool key ctrl+l ctrl+c
tab=$(xclip -o -sel clip)
i=$[$i + 1]
done
#i=1
#while i < $windows; do
#open window, open tabs?
#done
#Restore old clipboard value
echo -n "$oldclip" | xclip -i -sel clip
这就是我目前能做的一切。我可能会稍后尝试测试,欢迎提出任何建议/修复。
答案2
对于 Windows 来说,可以制作一个自定义启动器来打开所有指定的 URI。
您可以查看文件/usr/share/applications/nautilus-home.desktop
。其中有一行以以下内容开头Exec
:
Exec=nautilus --new-window %U
你可以通过以下方式改变它:
Exec=nautilus -n URI1 URI2 …
将其保存到某个地方(例如桌面)并检查可执行权限后,它将在单独的窗口中打开每个指定的 URI。