如何为主文件夹创建动态快速列表?

Lin*_*ity 6 unity quicklists

如何为将所有书签添加为快速列表的主文件夹创建动态快速列表(我听说可以通过 libunity)?

Lin*_*ity 1

\n

下面是一个小 shell 脚本,可以使用您的所有书签更新您的主页快速列表。无需手动操作。它读取您的书签文件\n并从中创建菜单项。它还添加了“Root\n Filemanager”菜单项。

\n\n

正在运行的快速列表的屏幕截图

\n\n
    \n
  1. 将下面列出的脚本复制到一个空文件中,并将其放入\n 脚本文件夹中(我们假设是 ,~/bin/并且您选择的脚本名称\n 是unityhome.bash)。
  2. \n
  3. 运行脚本一次以添加条目:

    \n\n
    bash ~/bin/unityhome.bash\n
    Run Code Online (Sandbox Code Playgroud)
  4. \n
  5. 或者,您可以让 cron 每隔一段时间为您运行一次脚本。要将其添加到 cron,请在 shell 中输入以下命令:

    \n\n
    crontab -e An editor will open. There add a line like:\n\n@reboot /bin/bash/ $HOME/bin/unityhome.bash > /dev/null 2>&1\n
    Run Code Online (Sandbox Code Playgroud)\n\n

    如果您不执行此步骤,并且想要更新快速列表,则每次更改 nautilus 书签时都必须手动运行脚本。

  6. \n
  7. 更改仅在您下次登录或按 Alt+F2 后生效

    \n\n
    unity --replace So do that. *Note: Don\'t run `unity --replace`\n
    Run Code Online (Sandbox Code Playgroud)\n\n

    在终端中。如果您关闭该终端,它将终止与其的统一。*

  8. \n
  9. 享受并查看类似的 gnome-terminal 脚本,它解析您的 ssh 书签(在 \n 中 ~/.ssh/config)。

  10. \n
\n\n

脚本:\n -------- 这是脚本:

\n\n
#!/bin/bash\n# tabsize: 4, encoding: utf8\n#\n# \xc2\xa9 2011 con-f-use@gmx.net. Use permitted under MIT license:\n#     http://www.opensource.org/licenses/mit-license.php\n# \n# CONTRIBUTORS: Chris Druif <cyber.druif@gmail.com>\n#               Scott Severance <http://www.scottseverance.us/>\n# \n# This script updates the unity quicklist menu for nautilus to\n
Run Code Online (Sandbox Code Playgroud)\n\n

包含用户\n # 个书签。更新将在 Unity 重新启动后生效(无论是在下次登录时还是通过调用“unity --replace”)。

\n\n
# location of template and unity bar launchers\nnautempl="/usr/share/applications/nautilus-home.desktop"\ntarget="$HOME/.local/share/applications/nautilus-home.desktop"\nbookmarks="$HOME/.gtk-bookmarks"\n\n# backup if file already exists\nif [ -e "$target" ]; then\n    echo "Creating backup of: $target."\n    mv -n "$target" "$target.bak"\nfi\n\n# copy template\ncp "$nautempl" "$target"\n\nsed -i "s/\\(OnlyShowIn=GNOME;\\)/\\1Unity;/" "$target"\n\necho "X-Ayatana-Desktop-Shortcuts=" >> $target\n\nbmcount=0\nwhile read bmline; do\n    bmcount=$(($bmcount+1))     # number of current bookmark\n    bmname=${bmline#*\\ }        # name of the bookmark\n    bmpath=${bmline%%\\ *}       # path the bookmark leads to\n    # deal with bookmarks that have no name\n    if [ "$bmname" = "$bmpath" ]; then\n        bmname=${bmpath##*/}\n    fi\n    # fix spaces in names and paths\n    bmname="$(echo "$bmname" | sed \'s/%20/ /g\')"\n    bmpath="$(echo "$bmpath" | sed \'s/%20/ /g\')"\n    # extend shortcut list with current bookmark\n    sed -i\n
Run Code Online (Sandbox Code Playgroud)\n\n

"s/(X-Ayatana-Desktop-Shortcuts=.*)/\\1Scg${bmcount};/" "$target"\n # 写入书签信息\n cat - >> "$target" <\n\ n

[Scg$bmcount Shortcut Group]\nName=$bmname\nExec=nautilus "$bmpath"\nOnlyShowIn=Unity\nEOF\ndone < "$bookmarks"\n\n# Add a root file manager entry\nsed -i "s/\\(X-Ayatana-Desktop-Shortcuts=.*\\)/\\1RootFM;/" "$target"\ncat - >> "$target" <<EOF\n\n[RootFM Shortcut Group]\nName=Root\nExec=gksudo nautilus\nOnlyShowIn=Unity\nEOF\n\nexit 0\n
Run Code Online (Sandbox Code Playgroud)\n
\n\n

原始答案- 由con-f-use撰写

\n