User talk:Hpo3

From ArchWiki

介绍

这篇文章将向您介绍 Ivman 的安装与配置。Ivman 是通过 HAL/dbus 来管理驱动器的终端软件。Ivman 在你的桌面环境或者视窗软件没有自动挂载的功能时可以帮你挂载驱动器。这篇文章是从 Ivman 俄语文章基础上翻译到英文,再从英文翻译而来。

安装

Ivman 的安装依赖下面的四个软件:

  • udev
  • hal
  • dbus
  • pmount

按照下面的命令安装 Ivman 的依赖包:

# pacman -Sy udev hal dbus pmount

Ivman 的安装包需要从 AUR 获得: 这里

注意: ivman 需要安装打了补丁后的版本,因为 ivman 已经停止升级开发,仅仅进行基本维护,可能会由于HAL/dbus的版本升级而导致软件不能正常使用。

配置

在配置 ivman 前首先要确保你在 rc.conf 文件中已经进入了 hal 。如果还没有这么做,编辑 /etc/rc.conf,在守护进程 ( daemons ) 中加入 hal。当然要以root身份修改这个文件。

DAEMONS = (syslog-ng hal network ...)

在默认配置中, Ivman会自动挂载 /media 下的所有驱动器,并动态创建和删除所需要的文件夹,所以并没有必要自己创建和删除目录。Ivman 使用 pmount 来挂载驱动器,因而闪存驱动器会被叫做 'usbdisk', 'usbdisk1'等,而光盘会按照光盘的卷标来命名。

如果驱动器在 fstab 文件中有对应的条目, ivman 会按照文件中参数进行挂载。如果没有对应的条目,ivman 调用 pmount 命令用默认参数挂载驱动器,并将挂载后的驱动器文件夹放在 /media 中。 因此,如果你对挂载的驱动器有特殊的参数要求,那么就必须在 fstab 文件中现加入对应的条目使 ivman 能以你需要的方式加载。

启动程序

守护进程 ( Daemon )

Ivman 可以以守护进程的方式启动,只需要在 /etc/rc.conf 中的 DAEMONS 中加入 ivman :

DAEMONS = (syslog-ng hal ivman network ...)

但是在一些系统中,启动后一段时间 ivman 会报错。(从俄语翻译成英语再翻译成中文,中间歧义太大,据英文文章中说他也没弄明白到底怎么回事) 。如果以守护进程的方式启动ivman, 那么 ivman 会让所有的存储对所有人都有读取的权限,对驱动器有所有权的用户组有读/写权限。

手动启动

如果手动启动 ivman ,那么这个驱动器就只对当前的用户有读/写权限,其他用户都不可以读写。

使用下面的命令手动启动ivman:

# ivman

一种比较有效的方式就是在 X 界面的启动脚本中加入 ivman :

ivman &
numlockx &
exec openbox-session

( 在部分窗口管理软件中,还需要在 session 文件中也加入ivman,例如 openbox 和 pekwm 等。)

守护进程和手动启动的 ivman 并不冲突, 如果用户用户没有手动运行 ivman ,那么系统的守护进程会挂载驱动器。如果手动运行了程序,那么驱动器会优先由手动运行的 ivman 挂载。

小贴示与小技巧

上面提到的东西已经足够你使你的驱动器正确挂载上了。但是 Ivman 还有一些其他小的功能。 比如其中有一个很有意思的个功能,那就是当驱动器正确连接上电脑时候,给用户一个提示,即驱动器已经正确识别并指出驱动器将在什么位置挂载上。要使用这个功能,就需要手动修改 ivman 在 ~/.ivman 下的配置文件了。这个文件叫做 IvmConfigActions.xml。将下面的内容加入到IvmConfigActions.xml中:

<ivm:Match name="hal.info.category" value="storage"> <ivm:Match name="hal.info.category" value="storage"> 
     <ivm:Match name="hal.storage.bus" value="usb"> <ivm:Match name="hal.storage.bus" value="usb"> 
          <ivm:Option name="exec" value="kdialog -passivepopup 'обнаружен USB-накопитель $hal.info.vendor$ $hal.info.product$ с меткой $hal.partition.label$' 4" />    
          <ivm:Option name="exec" value="kdialog -passivepopup'obnaruzhen USB-nakopitel $hal.info.vendor$ $hal.info.product$ labeled $hal.partition.label$' 4" />     	
     </ivm:Match> </ ivm: Match> 
</ivm:Match> </ ivm: Match>
	

上面这些内容,会让 ivman 在正确挂载 USB 驱动器后通过一个 kdialog 的对话框提示驱动器被正确识别。(你也可以用zenity来实现 GTK 造型的对话框。 )

问题解答

我个人在 ivman 配置安装过程中没有遇到任何问题,如果你遇到了,可以尝试 ivman 的调试模式:

# ivman -d
	

或者运行

# hal-devices

来确保驱动器已经被正确识别。