如何编辑 Nautilus Places 侧边栏和 Unity QuickList?

Ami*_*ane 41 nautilus quicklists

我正在使用 Nautilus 3.6 运行 Ubuntu 13.04,我想编辑Nautilus Places 侧边栏菜单(Not Bookmarks)

默认情况下有以下项目:最近、主页、桌面、文档、下载、音乐、图片、视频和垃圾箱。

我希望:

  • 将文件夹添加到位置(不是书签)。
  • 添加的文件夹必须存在于 Unity QuickList 中(右键单击启动器中的 Nautilus 图标)。
  • 删除最近使用的文件(Nautilus 3.6 中的默认设置)。
  • 将垃圾箱重命名为另一个名称。

我怎样才能实现这些目标?

注意: 我尝试编辑~/.config/user-dirs.dirs文件,但不是运气。还有另一种方法可以自定义 Nautilus Places 菜单吗?

Rom*_*uet 42

为了实现这一点..您应该编辑 Nautilus 源代码和nautilus.desktop文件或使用另一个允许这样做的文件管理器,例如 nemo。


注意:在本例中,我使用 nautilus(文件)3.6.3 运行 ubuntu 13.04。
您可以在虚拟机中对此进行测试,以查看是否一切正常。


1)确保您已启用源代码存储库

  • 打开 Ubuntu 软件中心
  • 在菜单栏中选择Edit -> Software Sources。单击以启用“源代码存储库”。 以防万一我使用“主服务器”下载。

在此处输入图片说明

打开终端窗口以更新存储库。

  • sudo apt-get update

2)在终端中键入以下内容以安装必要的软件包。

  • sudo apt-get install build-essential quilt

3)安装构建依赖项。

  • sudo apt-get build-dep nautilus

4)创建一个文件夹来下载源代码。

  • mkdir ~/Downloads/src

  • cd ~/Downloads/src

5)下载源代码和导出变量。

  • apt-get source nautilus

  • export QUILT_PATCHES=debian/patches

  • export EDITOR=gedit

6)创建补丁并编辑源代码。

  • cd nautilus-3.6.3/

  • quilt new my_custom_places.patch

  • quilt edit src/nautilus-places-sidebar.c


自定义垃圾箱:更改垃圾箱的名称。您可以更改第567569行中的字符串。

例如:“垃圾箱”到“自定义垃圾箱”和“打开垃圾箱”到“打开自定义垃圾箱”

在此处输入图片说明


添加文件夹:在本例中,我将在我的主目录/home/virtual/Test 中添加“Test”文件夹。(根据您的需要更改文件夹)

在行号562 之后添加以下内容:

/* add Test directory */
mount_uri = "file:///home/virtual/Test";
icon = g_themed_icon_new (NAUTILUS_ICON_FOLDER);
add_place (sidebar, PLACES_BUILT_IN,
       SECTION_COMPUTER,
       _("Test"), icon, mount_uri,
       NULL, NULL, NULL, 0,
       _("Open Test folder"));
g_object_unref (icon);
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明


删除最近的文件:要从这些地方删除最近的文件...删除从525534的行。

在此处输入图片说明

保存更改。


7)构建 deb 包。

  • quilt refresh
  • fakeroot dpkg-buildpackage

8)安装 deb 包。

  • cd ..

  • sudo dpkg -i *deb

9)对于系统范围..编辑nautilus.desktop文件以在快速列表中添加文件夹,例如:(/home/virtual/Test)

  • sudo nano /usr/share/applications/nautilus.desktop

改变:

Actions=Window;
Run Code Online (Sandbox Code Playgroud)

到:

Actions=Test;Window;
Run Code Online (Sandbox Code Playgroud)

添加:

[Desktop Action Test]
Name=Test             
Exec=nautilus --new-window /home/virtual/Test
OnlyShowIn=Unity;
Run Code Online (Sandbox Code Playgroud)

前:

在此处输入图片说明

后:

在此处输入图片说明

10)最后,您可以注销并登录以查看更改。

结果:

在此处输入图片说明

希望这可以帮助。

  • 只是好奇这是否与安全有关......这是一个相对简单的(需求方面而非实现)定制功能的非常复杂的过程。 (4认同)

小智 10

我在 SO 上找到了一种简单的方法。

请按照此链接中概述的说明进行操作- 这解决了我遇到的相同问题。

摘录:

gedit ~/.config/user-dirs.dirs
Run Code Online (Sandbox Code Playgroud)

删除您不想要的列表。但是,一旦您再次登录,它就会重置,所以

echo "enabled=false" > ~/.config/user-dirs.conf
Run Code Online (Sandbox Code Playgroud)