PCManFM (简体中文)

From ArchWiki
Jump to navigation Jump to search
翻译状态: 本文是英文页面 PCManFM翻译,最后翻译时间:2019-05-06,点击这里可以查看翻译后英文页面的改动。

PCManFM 是一个开源的文件管理器,并且是 LXDE的默认文件管理器。

安装

有以下版本可供选择安装

可选组件:

  • gvfs:提供回收站功能
  • udisks:远程文件系统的挂载支持

桌面管理

如果要用PCManFM进行桌面管理,比如设置壁纸和桌面图标,使用这个命令:

pcmanfm --desktop

原生的桌面管理菜单会被PCManFM提供的桌面管理菜单所替换。

如果要还原,只需要在桌面右击,选择 桌面偏好设置(Desktop preferences),在 高级(Desktop)选项卡中选择 右击时选择窗口管理器提供的菜单(Right click shows WM menu)。或者在命令行中输入:

pcmanfm --desktop-off

桌面首选项

如果你使用的是窗口管理器提供的原生桌面菜单,只要输入下面命令就能进入修改桌面配置:

$ pcmanfm --desktop-pref

可以考虑把这句命令绑定快捷键或绑定到原生桌面菜单以方便使用。

新建图标

文本文档、图片等用户文件可以直接拖放到桌面上。至于应用程序快捷方式,需要把它们的.desktop文件复制~/Desktop文件夹;不能拖放.desktop文件,否则就会是移动而不是复制,这会导致这个应用从应用启动器中消失。如果用命令行就应该是这样:

cp /usr/share/applications/<name of application>.desktop ~/Desktop

例如,下面的命令为 lxterminal 创建了一个桌面快捷方式:

cp /usr/share/applications/lxterminal.desktop ~/Desktop

使用 XDG user directories 程序创建 $HOME 目录的用户不需要再做其他配置。

守护进程模式

如果你想在后台运行PCManFM ( 比如说要自动挂载移动硬盘等可移动介质),使用:

pcmanfm -d

如果自动挂载失败,请参见 udisks.

开机自启

PCManFM如何作为daemon进程自动启动或为一个独立的window manager管理桌面取决于窗口管理器本身。

例如,如果要它为 Openbox 管理桌面,要把下面的命令加入到 ~/.config/openbox/autostart 文件:

pcmanfm --desktop &

对于特定的窗口管理器,请查看相关的维基文档或者官方主页来了解详情。如果该窗口管理器没有提供 autostart 文件,则可以编辑以下的文件来自动启动 PCManFM:

其他特性和功能

新手用户应该意识到,PCManFM只是一个文件管理器,它并不会像 XfceKDE 这种完整的 桌面环境 一样提供众多特性和功能。阅读 file manager functionality 来了解文件管理器应该做什么的信息。

提示与技巧

为其他文件生成缩略图

Merge-arrows-2.pngThis article or section is a candidate for merging with File manager functionality#Thumbnail Previews.Merge-arrows-2.png

Notes: 这一部分不是PCManFM所独有的。 (Discuss in Talk:PCManFM (简体中文)#)

PCManFM 对图片文件可以自动生成缩略图。对于其他文件类型,PCManFM 使用 /usr/share/thumbnailers 文件夹里的文件所提供的信息来产生缩略图。提供缩略图生成器(thumbnailers)的软件包通常会在 /usr/share/thumbnailers 自动添加 .thumbnailer 文件。例如:

Tip: 如果你不喜欢 evince,可以用 imagemagickconvert 命令来生成PDF文件的缩略图,需要在 /usr/share/thumbnailers 创建一个 .thumbnailer 后缀名的文件,内容如下:
/usr/share/thumbnailers/imagemagick-pdf.thumbnailer
[Thumbnailer Entry]
TryExec=convert
Exec=convert %i[0] -thumbnail %s %o
MimeType=application/pdf;application/x-pdf;image/pdf;
Note: Exec 里的 [0] 是为了让 convert 按照 PDF 的第一页生成缩略图。这是 convert 接受的参数,和 .thumbnailer 文件的语法没有任何关系。

同理,你可以创建其他的 .thumbnailer 文件来给某种文件生成缩略图。基本的语法是:%i 指需要生成缩略图的文件, %o 指生成的缩略图文件,%s指缩略图的大小。这三个参数会在传递给缩略图生成器之前被替换成相应的数据。

Tip: 如果只有同类型的文件只有一部分生成了缩略图,你可能需要调整可以有缩略图的文件的最大大小,在 Edit > Preferences > Display 里调整。

设置终端模拟器

Edit > Preferences > Advanced 里面的 Tools > Open Current Folder in Terminal,你可以配置 PCManFM 调用的终端模拟器。

集成压缩包管理器

可以在 Edit > Preferences > Advanced 中设置集成的压缩包管理器。目前 PCManFM 支持 file-roller, xarchiver (或者 xarchiver-gtk2), engrampa, arksqueeze-gitAUR

“创建新的...”模板

模板文件保存在 ~/Templates ,点击文件>新建...可以选择相应的模板。默认的模板是“创建文件夹”和“创建空白文件”。

故障排除

启动窗口空白

如果你启动应用时,界面一片空白,那么你可以试着卸载 gnome-menus 然后安装 lxmenu-data。此外,设置如下环境变量:

export XDG_MENU_PREFIX=lxde-
export XDG_CURRENT_DESKTOP=LXDE

没有 "Applications"

删掉 $HOME/.cache/menus 文件夹里的东西,然后重新运行 PCManFM。

XDG_MENU_PREFIX 这个环境变量需要设置好,它的值应该和 /etc/xdg/menus/ 目录里的文件的文件名的开头部分匹配。可以通过 .xinitrc 文件设置这个环境变量,例如:

export XDG_MENU_PREFIX="lxde-"

参考[1] 以及Linux Mint论坛的[2](特别推荐)

无图标

如果你用的是 window manager 而不是 桌面环境,而文件夹和文件没有图标,你需要指定 GTK+ 图标主题。

例如,你安装了 oxygen-icons,在 ~/.gtkrc-2.0 或者 /etc/gtk-2.0/gtkrc 里添加这一行:

gtk-icon-theme-name = "oxygen"
Note: 重启 PCManFM 才能生效。

设置成还没有安装的图标主题是没用的。用下面这个命令查看安装了的图标主题:

$ ls ~/.icons/ /usr/share/icons/

如果看着都不爽,那就用这个命令查看所有可以安装的图标主题,选一个来安装:

$ pacman -Ss icon-theme
Tip: 如果想要有个图形界面,安装 lxappearance 并用它来设置图标主题。

鼠标按钮不能触发 "上一/下一 文件夹" 功能

Xbindkeys 来搞定这个功能。

安装 xbindkeysxvkbdAUR,在 ~/.xbindkeysrc 里添加以下内容:

~/.xbindkeysrc
# Sample .xbindkeysrc for a G9x mouse.
"/usr/bin/xvkbd -text '\[Alt_L]\[Left]'"
 b:8
"/usr/bin/xvkbd -text '\[Alt_L]\[Right]'"
 b:9

按键代码可以通过 xorg-xev 获取。

最后在 ~/.xinitrc 里添加以下内容来在登录时触发 xbindkeys

xbindkeys &

--desktop 参数不生效或使X-server崩溃

确保你有 ~/.config/pcmanfm 文件夹的所有权和写权限。

通过使用 --desktop-pref 参数或者修改 ~/.config/pcmanfm/default/pcmanfm.config 来设置桌面壁纸来解决问题。

终端模拟器的高级配置没有保存

请设置 libfm 配置文件的权限:

$ chmod -R 755 ~/.config/libfm
$ chmod 644 ~/.config/libfm/libfm.conf

记住文件排序设置

View > Sort Files 里可以设置文件排序,但是如果要让 PCManFM 记住这个设置,需要打开 Edit > Preferences 然后再关掉,这样会让当前的sort_type 和 sort_by 的值写入 ~/.config/pcmanfm/LXDE/pcmanfm.conf 文件。

挂载设备时候提醒 "Not authorized"

/etc/polkit-1/rules.d/00-mount-internal.rules 文件里添加这个 polkit 规则:

/etc/polkit-1/rules.d/00-mount-internal.rules
polkit.addRule(function(action, subject) {
    if ((action.id == "org.freedesktop.udisks2.filesystem-mount-system" &&
       subject.local && subject.active && subject.isInGroup("storage")))
       {
          return polkit.Result.YES;
       }
 });

并且把你的用户添加到 storage 用户组里:

# usermod -aG storage username

Operation not supported

参见 会话权限.