Nach Installation von FreeBSD 9: Kann Laufwerke in Gnome nicht mehr mounten

cabriofahrer

Well-Known Member
Bis vor kurzem hatte ich FreeBSD 8.2 mit Gnome 2.32 genutzt. Dort konnte ich problemlos meine CD's und Usb-Sticks in Nautilus mounten. Ich wollte eine Frischinstallation von FreeBSD 9, vorher sicherte ich mir meine Konfigurationsdateien, um die Inhalte später zu übernehmen.
Nach der Installation von FreeBSD 9 und der entsprechenden Editierung aller m.E. erforderlichen Konfigurationsdateien erschein in Gnome das CD-Laufwerk noch nichteinmal mehr, auch Sticks lassen sich nicht mehr mounten. Vielleicht habe ich nur eine Kleinigkeit vergessen? Hier meine Konfigurationsdateien:

/etc/fstab:

# Device Mountpoint FStype Options Dump Pass#
/dev/ada0p2 / ufs rw 1 1
/dev/ada0p3 none swap sw 0 0
proc /proc procfs rw 0 0

(Laut den Anweisungen von "HAL FAQ" darf das CD-Laufwerk nicht drinstehen und proc muß gemountet sein)

/etc/rc.conf:

hostname="elvis69"
keymap="german.cp850.kbd"
sshd_enable="YES"
moused_enable="YES"
powerd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="NO"
devfs_system_ruleset="localrules"
gnome_enable="YES"
#gdm_enable="YES"
# -- sysinstall generated deltas -- # Thu Mar 15 18:37:07 2012
ifconfig_bge0="DHCP"
hostname="elvis69.arcor.de"
# -- sysinstall generated deltas -- # Thu Mar 15 18:40:52 2012
ifconfig_iwi0="up"
ifconfig_wlan0="WPA DHCP"
webcamd_enable="YES"
wlans_iwi0="wlan0"
clear_tmp_enable="YES"
linux_enable="YES"


/etc/devfs.rules:

[localrules=10]
add path 'da*s*' mode 0660 group operator
add path 'ulpt*' mode 0660 group operator
add path 'md*' mode 0660 group operator
add path 'ugen*' mode 660 group operator
add path 'cd*' mode 0660 group operator
add path 'pass*' mode 0660 group operator
add path 'xpt0' mode 0660 group operator


more /usr/local/etc/PolicyKit/PolicyKit.conf

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->

<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"
"http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd">

<!-- See the manual page PolicyKit.conf(5) for file format -->

<config version="0.1">
<match user="root|werner">
<return result="yes"/>
</match>
<define_admin_auth group="wheel"/>
</config>
 
/etc/rc.conf:

hostname="elvis69"
keymap="german.cp850.kbd"
sshd_enable="YES"
moused_enable="YES"
powerd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="NO"
devfs_system_ruleset="localrules"
gnome_enable="YES"
#gdm_enable="YES"
# -- sysinstall generated deltas -- # Thu Mar 15 18:37:07 2012
ifconfig_bge0="DHCP"
hostname="elvis69.arcor.de"
# -- sysinstall generated deltas -- # Thu Mar 15 18:40:52 2012
ifconfig_iwi0="up"
ifconfig_wlan0="WPA DHCP"
webcamd_enable="YES"
wlans_iwi0="wlan0"
clear_tmp_enable="YES"
linux_enable="YES"

Ich sehe da irgendwie kein:
Code:
dbus_enable="YES"
hald_enable="YES"

Unter /usr/local/etc/hal/fdi/policy/ müssen dann auch noch die passenden fdi Dateien sein.
Code:
cat /usr/local/etc/hal/fdi/policy/10-mouse-sysmouse.fdi

<?xml version="1.0" encoding="UTF-8"?>

<deviceinfo version="0.2">
  <device>
    <match key="freebsd.driver" string="ums">
      <match key="freebsd.unit" int="0">
        <merge key="info.ignore" type="bool">true</merge>
      </match>
    </match>
  </device>
</deviceinfo>

Code:
cat /usr/local/etc/hal/fdi/policy/10-power-mgmt-policy.fdi

<?xml version="1.0" encoding="UTF-8"?>

<deviceinfo version="0.2">

  <device>
    <match key="hiddev.application_pages" contains="Power Device Page">
      <append key="info.addons" type="strlist">hald-addon-hid-ups</append>
    </match>
  </device>

  <device>
    <match key="power_management.type" string="acpi">
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
        <append key="info.addons" type="strlist">hald-addon-acpi</append>
      </match>
    </match>
  </device>

  <device>
    <match key="button.type" string="lid">
      <match key="linux.pmu_type" exists="true">
        <append key="info.addons" type="strlist">hald-addon-pmu</append>
      </match>
    </match>
  </device>

  <device>
    <match key="info.udi" string="/org/freedesktop/Hal/devices/computer">
      <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.SystemPowerManagement</append>

      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_names" type="strlist">Suspend</append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_signatures" type="strlist">i</append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_argnames" type="strlist">num_seconds_to_sleep</append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_execpaths" type="strlist">hal-system-power-suspend</append>

      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_names" type="strlist">SuspendHybrid</append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_signatures" type="strlist">i</append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_argnames" type="strlist">num_seconds_to_sleep</append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_execpaths" type="strlist">hal-system-power-suspend-hybrid</append>

      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_names" type="strlist">Hibernate</append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_signatures" type="strlist"></append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_argnames" type="strlist"></append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_execpaths" type="strlist">hal-system-power-hibernate</append>

      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_names" type="strlist">Shutdown</append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_signatures" type="strlist"></append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_argnames" type="strlist"></append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_execpaths" type="strlist">hal-system-power-shutdown</append>

      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_names" type="strlist">Reboot</append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_signatures" type="strlist"></append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_argnames" type="strlist"></append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_execpaths" type="strlist">hal-system-power-reboot</append>

      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_names" type="strlist">SetPowerSave</append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_signatures" type="strlist">b</append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_argnames" type="strlist">enable_power_save</append>
      <append key="org.freedesktop.Hal.Device.SystemPowerManagement.method_execpaths" type="strlist">hal-system-power-set-power-save</append>

      <!-- Consider that we're not saving power at startup -->
      <merge key="power_management.is_powersave_set" type="bool">false</merge>
    </match>
  </device>

</deviceinfo>

Code:
cat /usr/local/etc/hal/fdi/policy/20-storage-methods.fdi

<?xml version="1.0" encoding="UTF-8"?>

<deviceinfo version="0.2">
  <device>
    <match key="info.udi" string="/org/freedesktop/Hal/devices/computer">
      <append key="info.callouts.add" type="strlist">hal-storage-cleanup-all-mountpoints</append>
    </match>

    <!-- poll drives with removable media -->
    <match key="storage.removable" bool="true">
      <append key="info.addons" type="strlist">hald-addon-storage</append>
    </match>

    <match key="volume.is_disc" bool="true">
      <match key="volume.disc.has_audio" bool="true">
        <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.Volume</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Eject</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-eject</append>
      </match>
      <match key="volume.disc.is_blank" bool="true">
        <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.Volume</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Eject</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-eject</append>
      </match>
    </match>

    <!-- this is to be able to mount media in drives we cannot poll, e.g. IDE Zip Drives and PC style floppy drives -->
    <match key="storage.media_check_enabled" bool="false">
      <match key="storage.no_partitions_hint" bool="true">

        <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.Volume</append>

        <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Mount</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">ssas</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">mount_point fstype extra_options</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-mount</append>

        <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Unmount</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-unmount</append>

        <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Eject</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-eject</append>

        <!-- allow these mount options for all file systems -->
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
          <append key="volume.mount.valid_options" type="strlist">ro</append>
          <append key="volume.mount.valid_options" type="strlist">sync</append>
          <append key="volume.mount.valid_options" type="strlist">dirsync</append>
          <append key="volume.mount.valid_options" type="strlist">noatime</append>
          <append key="volume.mount.valid_options" type="strlist">nodiratime</append>
          <append key="volume.mount.valid_options" type="strlist">relatime</append>
          <append key="volume.mount.valid_options" type="strlist">noexec</append>
          <append key="volume.mount.valid_options" type="strlist">quiet</append>
          <append key="volume.mount.valid_options" type="strlist">remount</append>
          <append key="volume.mount.valid_options" type="strlist">exec</append>
          <!-- As this is removable media give some leeway -->
          <append key="volume.mount.valid_options" type="strlist">utf8</append>
          <append key="volume.mount.valid_options" type="strlist">shortname=</append>
          <append key="volume.mount.valid_options" type="strlist">codepage=</append>
          <append key="volume.mount.valid_options" type="strlist">iocharset=</append>
          <append key="volume.mount.valid_options" type="strlist">umask=</append>
          <append key="volume.mount.valid_options" type="strlist">uid=</append>
        </match>
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD">
          <append key="volume.mount.valid_options" type="strlist">ro</append>
          <append key="volume.mount.valid_options" type="strlist">noexec</append>
          <append key="volume.mount.valid_options" type="strlist">noatime</append>
        </match>
      </match>
    </match>


    <match key="volume.fsusage" string="filesystem">

      <!-- Here follow volumes we specifically want to ignore - it is the -->
      <!-- responsibility of software higher in the stack (e.g. gnome-vfs) -->
      <!-- amd mount programs (e.g. Mount() on HAL) to respect volume.ignore -->
      <merge key="volume.ignore" type="bool">false</merge>

      <!-- Should always ignore Apple Bootstrap partitions (it would be -->
      <!-- a security hole to mount it) - TODO: should use the bootable -->
      <!-- flag from the Mac partition table instead -->
      <match key="volume.fstype" string="hfs">
        <match key="volume.label" string="bootstrap">
          <merge key="volume.ignore" type="bool">true</merge>
        </match>
      </match>
      <match key="volume.partition.scheme" string="apm">
        <match key="volume.partition.type" string_outof="Apple_Bootstrap">
          <merge key="volume.ignore" type="bool">true</merge>
        </match>
      </match>

      <!-- EFI firmware partitions -->
      <match key="volume.fstype" string="vfat">
        <match key="volume.label" string="EFI">
          <merge key="volume.ignore" type="bool">true</merge>
        </match>
      </match>

      <match key="volume.fstype" string_outof="ntfs;vfat">
        <match key="volume.label" string="RECOVERY">
          <merge key="volume.ignore" type="bool">true</merge>
        </match>
        <!-- ASUS ships some desktop with a recovery partition -->
        <match key="volume.label" string="PQSERVICE">
          <merge key="volume.ignore" type="bool">true</merge>
        </match>
        <!-- HP ships desktops with a recovery partition -->
        <match key="volume.label" string="HP_RECOVERY">
          <merge key="volume.ignore" type="bool">true</merge>
        </match>
        <!-- Sony ships laptops with a recovery partition -->
        <match key="volume.label" string="Recovery Partition">
          <merge key="volume.ignore" type="bool">true</merge>
        </match>
        <!-- DELL ships some laptops with a visible recovery partition -->
        <match key="volume.label" string_outof="DellUtility;DellRestore">
          <merge key="volume.ignore" type="bool">true</merge>
        </match>
        <!-- Lenovo and IBM ship with a various recovery partitions -->
        <match key="volume.label" string_outof="IBM_SERVICE;SERVICEV001;SERVICEV002">
          <merge key="volume.ignore" type="bool">true</merge>
        </match>
        <!-- Fujitsu ships laptops with a recovery partitions -->
        <match key="volume.label" string="WinRE">
          <merge key="volume.ignore" type="bool">true</merge>
        </match>
      </match>

      <!-- ignore the following MBR partition types (EFI, hidden, etc.) 
           see http://www.win.tue.nl/~aeb/partitions/partition_types-1.html 
      -->
      <match key="volume.partition.scheme" string="mbr">
        <match key="volume.partition.type" string_outof="0x00;0x11;0x14;0x16;0x17;0x1b;0x1c;0x1e;0x27;0x3d;0x84;0x8d;0x90;0x91;0x92;0x93;0x97;0x98;0x9a;0x9b;0xbb;0xc2;0xc3;0xdd;0xef">
          <merge key="volume.ignore" type="bool">true</merge>
        </match>
      </match>

      <!-- special GUID-identified partition types
           see http://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs
      -->
      <match key="volume.partition.scheme" string="gpt">
        <match key="volume.partition.type" string_outof="C12A7328-F81F-11D2-BA4B-00A0C93EC93B;21686148-6449-6E6F-744E-656564454649">
          <merge key="volume.ignore" type="bool">true</merge>
        </match>
      </match>

      <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.Volume</append>

      <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Mount</append>
      <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">ssas</append>
      <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">mount_point fstype extra_options</append>
      <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-mount</append>

      <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Unmount</append>
      <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append>
      <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append>
      <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-unmount</append>

      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
        <match key="volume.linux.is_device_mapper" bool="false">
          <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Eject</append>
          <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append>
          <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append>
          <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-eject</append>
        </match>
      </match>

      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD">
        <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Eject</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-eject</append>
      </match>

      <!-- allow these mount options for all file systems -->
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
        <append key="volume.mount.valid_options" type="strlist">ro</append>
        <append key="volume.mount.valid_options" type="strlist">sync</append>
        <append key="volume.mount.valid_options" type="strlist">dirsync</append>
        <append key="volume.mount.valid_options" type="strlist">noatime</append>
        <append key="volume.mount.valid_options" type="strlist">nodiratime</append>
        <append key="volume.mount.valid_options" type="strlist">relatime</append>
        <append key="volume.mount.valid_options" type="strlist">noexec</append>
        <append key="volume.mount.valid_options" type="strlist">quiet</append>
        <append key="volume.mount.valid_options" type="strlist">remount</append>
        <append key="volume.mount.valid_options" type="strlist">exec</append>
      </match>
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD">
        <append key="volume.mount.valid_options" type="strlist">ro</append>
        <append key="volume.mount.valid_options" type="strlist">noexec</append>
        <append key="volume.mount.valid_options" type="strlist">noatime</append>
      </match>

      <!-- allow these mount options for vfat -->
      <match key="volume.fstype" string="vfat">
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
          <append key="volume.mount.valid_options" type="strlist">utf8</append>
          <append key="volume.mount.valid_options" type="strlist">shortname=</append>
          <append key="volume.mount.valid_options" type="strlist">codepage=</append>
          <append key="volume.mount.valid_options" type="strlist">iocharset=</append>
          <append key="volume.mount.valid_options" type="strlist">umask=</append>
          <append key="volume.mount.valid_options" type="strlist">dmask=</append>
          <append key="volume.mount.valid_options" type="strlist">fmask=</append>
          <append key="volume.mount.valid_options" type="strlist">uid=</append>
          <append key="volume.mount.valid_options" type="strlist">flush</append>
        </match>
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD">
          <append key="volume.mount.valid_options" type="strlist">longnames</append>
          <append key="volume.mount.valid_options" type="strlist">shortnames</append>
          <append key="volume.mount.valid_options" type="strlist">nowin95</append>
          <append key="volume.mount.valid_options" type="strlist">-u=</append>
          <append key="volume.mount.valid_options" type="strlist">-g=</append>
          <append key="volume.mount.valid_options" type="strlist">-m=</append>
          <append key="volume.mount.valid_options" type="strlist">-M=</append>
          <append key="volume.mount.valid_options" type="strlist">-L=</append>
          <append key="volume.mount.valid_options" type="strlist">-D=</append>
          <append key="volume.mount.valid_options" type="strlist">large</append>
        </match>
      </match>


      <!-- allow these mount options for hfs -->
      <match key="volume.fstype" string="hfs">
        <append key="volume.mount.valid_options" type="strlist">gid=</append>
        <append key="volume.mount.valid_options" type="strlist">uid=</append>
        <append key="volume.mount.valid_options" type="strlist">force</append>
      </match>

      <!-- allow these mount options for hfsplus -->
      <match key="volume.fstype" string="hfsplus">
        <append key="volume.mount.valid_options" type="strlist">force</append>
      </match>

      <!-- allow these mount options for ntfs -->
      <match key="volume.fstype" string="ntfs">
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
          <append key="volume.mount.valid_options" type="strlist">uid=</append>
          <append key="volume.mount.valid_options" type="strlist">gid=</append>
          <append key="volume.mount.valid_options" type="strlist">umask=</append>
          <append key="volume.mount.valid_options" type="strlist">utf8</append>
        </match>
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD">
          <append key="volume.mount.valid_options" type="strlist">-u=</append>
          <append key="volume.mount.valid_options" type="strlist">-g=</append>
          <append key="volume.mount.valid_options" type="strlist">-m=</append>
          <append key="volume.mount.valid_options" type="strlist">-a</append>
          <append key="volume.mount.valid_options" type="strlist">-i</append>
          <append key="volume.mount.valid_options" type="strlist">-C=</append>
          <append key="volume.mount.valid_options" type="strlist">-W=</append>
        </match>
      </match>

      <!-- allow these mount options for ext3 -->
      <match key="volume.fstype" string="ext3">
        <append key="volume.mount.valid_options" type="strlist">acl</append>
        <append key="volume.mount.valid_options" type="strlist">user_xattr</append>
        <append key="volume.mount.valid_options" type="strlist">data=</append>
      </match>

      <!-- allow these mount options for ext2 -->
      <match key="volume.fstype" string="ext2">
        <append key="volume.mount.valid_options" type="strlist">acl</append>
        <append key="volume.mount.valid_options" type="strlist">user_xattr</append>
      </match>

      <!-- allow these mount options for reiserfs -->
      <match key="volume.fstype" string="reiserfs">
        <append key="volume.mount.valid_options" type="strlist">acl</append>
        <append key="volume.mount.valid_options" type="strlist">user_xattr</append>
      </match>

      <!-- allow these mount options for ufs -->
      <match key="volume.fstype" string="ufs">
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
          <append key="volume.mount.valid_options" type="strlist">ufstype=</append>
        </match>
      </match>

      <!-- udf -->
      <match key="volume.fstype" string="udf">
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
          <append key="volume.mount.valid_options" type="strlist">uid=</append>
          <append key="volume.mount.valid_options" type="strlist">umask=</append>
        </match>
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD">
          <append key="volume.mount.valid_options" type="strlist">-C=</append>
          <append key="volume.mount.valid_options" type="strlist">-v</append>
        </match>
      </match>

      <!-- iso9660 -->
      <match key="volume.fstype" string="iso9660">
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
          <append key="volume.mount.valid_options" type="strlist">utf8</append>
          <append key="volume.mount.valid_options" type="strlist">uid=</append>
          <append key="volume.mount.valid_options" type="strlist">mode=</append>
          <append key="volume.mount.valid_options" type="strlist">iocharset=</append>
        </match>
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD">
          <append key="volume.mount.valid_options" type="strlist">extatt</append>
          <append key="volume.mount.valid_options" type="strlist">gens</append>
          <append key="volume.mount.valid_options" type="strlist">nojoliet</append>
          <append key="volume.mount.valid_options" type="strlist">norrip</append>
          <append key="volume.mount.valid_options" type="strlist">nostrictjoliet</append>
          <append key="volume.mount.valid_options" type="strlist">-s=</append>
          <append key="volume.mount.valid_options" type="strlist">-C=</append>
          <append key="volume.mount.valid_options" type="strlist">-v</append>
        </match>
      </match>

      <!-- allow these unmount options -->
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
        <append key="volume.unmount.valid_options" type="strlist">lazy</append>
      </match>

    </match>

    <!-- make sure we export Eject on discs where we don't recognize the file system -->
    <match key="volume.is_disc" bool="true">
      <match key="volume.fsusage" string="">
        <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.Volume</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_names" type="strlist">Eject</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_signatures" type="strlist">as</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_argnames" type="strlist">extra_options</append>
        <append key="org.freedesktop.Hal.Device.Volume.method_execpaths" type="strlist">hal-storage-eject</append>
      </match>
    </match>

    <match key="storage.requires_eject" bool="true">
        <!-- storage Eject causes eject on each volume on this storage -->
        <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.Storage</append>
        <append key="org.freedesktop.Hal.Device.Storage.method_names" type="strlist">Eject</append>
        <append key="org.freedesktop.Hal.Device.Storage.method_signatures" type="strlist">as</append>
        <append key="org.freedesktop.Hal.Device.Storage.method_argnames" type="strlist">extra_options</append>
        <append key="org.freedesktop.Hal.Device.Storage.method_execpaths" type="strlist">hal-storage-eject</append>

        <append key="info.interfaces" type="strlist">org.freedesktop.Hal.Device.Storage</append>
        <append key="org.freedesktop.Hal.Device.Storage.method_names" type="strlist">CloseTray</append>
        <append key="org.freedesktop.Hal.Device.Storage.method_signatures" type="strlist">as</append>
        <append key="org.freedesktop.Hal.Device.Storage.method_argnames" type="strlist">extra_options</append>
        <append key="org.freedesktop.Hal.Device.Storage.method_execpaths" type="strlist">hal-storage-closetray</append>
    </match>
  </device>
</deviceinfo>


Code:
cat /usr/local/etc/hal/fdi/policy/preferences.fdi

<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
 
<device>
 <match key="volume.fstype" string="vfat">
  <match key="volume.size" compare_ge="128000000000">
    <merge key="volume.policy.mount_option.large" type="bool">true</merge>
  </match>
 </match>
</device>

</deviceinfo>

Tastatur: 105 Tasten, deutsch, nodeadkeys:
Code:
cat /usr/local/etc/hal/fdi/policy/x11-input.fdi

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
      <merge key="input.x11_options.XkbModel" type="string">pc105</merge>
      <merge key="input.x11_options.XkbLayout" type="string">de</merge>
      <merge key="input.x11_options.XkbVariant" type="string">nodeadkeys</merge>
    </match>
  </device>
</deviceinfo>
 
Zuletzt bearbeitet:
Danke für Deine Mühe Fusselbär, aber laut den HAL-FAQ werden die Einträge

dbus_enable="YES"
hald_enable="YES"

durch den Eintrag "gnome_enable=YES" ersetzt. Es hatte ja auch vorher so funktioniert. Ein Experiment und weiteres Suchen hat bisher folgendes ergeben:

KDE4 installiert und mit den Einstellungen werden Sticks problemlos gemountet, aber immernoch das CD-Laufwerk nicht. Es erschien weder unter Gnome in Nautilus noch erscheint es jetzt unter KDE. Und aus folgendem Thread ergibt sich zumindest die Erklärung in Bezug auf die sticks und Gnome:

http://forums.freebsd.org/showthread.php?t=27354

Darin heißt es: "Automounting does NOT work with the latest Gnome. It currently depends on Linux' udev, which means it's not going to work. Not on 9 or on any other version."

Toll...

Aber in Bezug auf das CD-Laufwerk muß das irgendwetwas mit FreeBSD 9 zu tun haben, da ist m.E. irgendetwas mit den Treibern / der Art die Laufwerke anzusprechen geändert worden.

Was muß ich also tun?

Ach so, und ein "sysctl vfs.usermount=1" bringt auch nichts, war auch vorher nicht nötig.
 
Hallo cabriofahrer,

versuch' mal folgendes in der devfs.conf

# CD
perm /dev/cd0 0666
perm /dev/cd1 0666

# USB
perm /dev/da0 0666
perm /dev/da1 0666
perm /dev/da2 0666
perm /dev/da3 0666
perm /dev/da4 0666

# aenderung
add path 'da*' mode 0660 group operator
 
Zuletzt bearbeitet:
Zurück
Oben