Автор Гілка: Не працює автоматичне монтування USB flash drive  (Прочитано 5139 раз)

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
В мене Дебіен Сід. В гуглі нічого нормального не нарив. Раніше працювало. Само якось відвалилось.
Коли вставляю флеху:
peinguin@debian:~/scripts$ dmesg | tail
[84798.548074] usb 1-2: new high speed USB device using ehci_hcd and address 6
[84798.684115] usb 1-2: New USB device found, idVendor=0930, idProduct=6545
[84798.684120] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[84798.684123] usb 1-2: Product: DataTraveler 2.0
[84798.684126] usb 1-2: Manufacturer: Kingston
[84798.684128] usb 1-2: SerialNumber: 001D0F0A94C25B881117086E
[84798.684244] usb 1-2: configuration #1 chosen from 1 choice
[84798.688476] scsi7 : SCSI emulation for USB Mass Storage devices
[84798.691001] usb-storage: device found at 6
[84798.691004] usb-storage: waiting for device to settle before scanning

[84900.210237] usb-storage: device scan complete
[84900.214266] scsi 8:0:0:0: Direct-Access     Kingston DataTraveler 2.0 PMAP PQ: 0 ANSI: 0 CCS
[84901.021900] sd 8:0:0:0: [sdb] 7936000 512-byte logical blocks: (4.06 GB/3.78 GiB)
[84901.023265] sd 8:0:0:0: [sdb] Write Protect is off
[84901.023268] sd 8:0:0:0: [sdb] Mode Sense: 23 00 00 00
[84901.023271] sd 8:0:0:0: [sdb] Assuming drive cache: write through
[84901.026265] sd 8:0:0:0: [sdb] Assuming drive cache: write through
[84901.026272]  sdb: sdb1
[84901.081295] sd 8:0:0:0: [sdb] Assuming drive cache: write through
[84901.081302] sd 8:0:0:0: [sdb] Attached SCSI removable disk

І в кедах таке віконце з’являється  "Недавно з’єднані пристрої". Нажимаю на флеху. Відкривається Gwenview. І там "Документи"(а зазвичай флеху відкривало). Натискаю зліва на "Volume (vfat)" - ну ця флеха а воно мені "Помилка в URL"
І ось логи
peinguin@debian:~/scripts$ dmesg | tail
[85006.864103] sd 9:0:0:0: [sdb] 7936000 512-byte logical blocks: (4.06 GB/3.78 GiB)
[85006.865463] sd 9:0:0:0: [sdb] Write Protect is off
[85006.865468] sd 9:0:0:0: [sdb] Mode Sense: 23 00 00 00
[85006.865471] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[85006.868288] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[85006.868296]  sdb: sdb1
[85006.920284] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[85006.920292] sd 9:0:0:0: [sdb] Attached SCSI removable disk
[85012.851283] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
[85012.888116] FAT: codepage cp437 not found

Ту поки що я монтую флешки, прописавши в fstab
/dev/sdb1      /mnt/flash1      vfat      rw,iocharset=utf8,codepage=1251,defaults,umask=0 0 0
/dev/sdc1      /mnt/flash2      vfat      rw,iocharset=utf8,codepage=1251,defaults,umask=0 0 0
Але це ж незручно. І треба права адмінські для монтування. А якщо якась подруга прийде і поки мене нема захоче щось з нета собі на флешку злить, то це їй не вдасться.
Допоможіть будь-ласка.
« Змінено: 2010-02-14 23:02:03 від Re. »

Відсутній lenier

  • Дописувач
  • **
  • дописів: 96
  • Карма: +0/-0
Можна встановити ivman і погратися з файлами IvmConfigActions.xml і IvmConfigBase.xml. А взагалі в Кедах за дії під час монтування відповідає Конкверор, можна його налаштування покрутити.

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
А можна якось системі вказать, щоб кодувала в cp1251 а не 437 ???
Чи як встановити підтримку цього кодування?
Немає в мене konqeror.
І ще одне. Модератор, будь-ласка, виправте тему. Я з похмілля просто.
« Змінено: 2010-02-14 15:04:50 від peinguin »

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3636
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
/dev/sdb1      /mnt/flash1      vfat      rw,iocharset=utf8,codepage=1251,defaults,umask=0 0 0
/dev/sdc1      /mnt/flash2      vfat      rw,iocharset=utf8,codepage=1251,defaults,umask=0 0 0
Але це ж незручно. І треба права адмінські для монтування. А якщо якась подруга прийде і поки мене нема захоче щось з нета собі на флешку злить, то це їй не вдасться.
Допоможіть, будь ласка.
Допишіть у рядок users.
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
дякую за пораду. Але ж хотілося б щоб кляіцяючи мишею монтувалося. Блондинкам так проще.

Відсутній cadca

  • Письменник
  • *****
  • дописів: 955
  • Карма: +0/-0
  • free like beer
дякую за пораду. Але ж хотілося б щоб кляіцяючи мишею монтувалося. Блондинкам так проще.
У четвертих кед є віджет "Менеджер пристроїв".
« Змінено: 2010-02-14 16:46:26 від cadca »
Ubuntu 20.04/18.04; CentOS 7.x

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
дякую за пораду. Але ж хотілося б щоб кляіцяючи мишею монтувалося. Блондинкам так проще.
У четвертих кед є віджет "Менеджер пристроїв".
А ви 1ше повідомлення читали? Мені треба відновити роботу віджета "Недавно з’єднані пристрої". Непрацює він тому що хочу змонтувати флеху не  в тому кодуванні.

Відсутній yurchor

  • Видавець
  • *******
  • дописів: 3636
  • Карма: +3/-0
  • Grateful for our Iron Lung
    • Вікі користувачів KDE
Доведеться згадувати, що клацали. Я знущався над своєю системою дуже жорстоко (інакше не можна побачити інтерфейси програм, які перекладаєш, зараз це, фактично, на третину LFS), але такого результату досягти не вдалося.

Микола Шафоростов виправив всі вади з кодуванням флешок ще до випуску KDE 4.1 (кодування жорстко зашито для окремих локалей, для української CP1251), HAL їх перезаписати не може, тому загального вирішення вашої проблеми немає. Спробуйте створити повідомлення про ваду у Debian Sid.
Try to reach you before winter comes
Always a place for you in my heart
You're not alone
All used up
I'd give anything to talk to you

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Нічого я не клаціав. Це або із-за оновлення системи або хз. І проблема не в KDE проблема при самому апараті монтування в лінуксі. навіть команда mount не змонтує якщо явно не вказати кодування.

Відсутній cadca

  • Письменник
  • *****
  • дописів: 955
  • Карма: +0/-0
  • free like beer
Покажіть вміст /usr/share/hal/fdi/30osvendor/locale-policy.fdi - для iocharset там повинно бути utf8 (якщо ви не використовуєте восьмибітне кодування для локалі), для codepage - нічого (або 866 - саме 866, а не cp866 - для восьмибітної локалі).
Як варіант - напишіть власні правила для hal у /etc/hal/fdi/policy.
« Змінено: 2010-02-14 23:16:04 від cadca »
Ubuntu 20.04/18.04; CentOS 7.x

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
peinguin@debian:~/scripts$ sudo cat /usr/share/hal/fdi/30osvendor/locale-policy.fdi
[sudo] password for peinguin: billgatesloh
cat: /usr/share/hal/fdi/30osvendor/locale-policy.fdi: No such file or directory

Я відредагував файл peinguin@debian:/etc/hal/fdi/policy$ sudo kate /etc/hal/fdi/policy/preferences.fdi
таким чином
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->

<!--
  Some examples how to use hal fdi files for system preferences
  You can either uncomment the examples here or put them in a seperate .fdi
  file.
-->
<deviceinfo version="0.2">
<!--
  The following shows how to hint gnome-volume-manager and other programs
  that honor the storage.automount_enabled_hint to not mount non-removable
  media.
-->
<!--
  <device>
    <match key="storage.hotpluggable" bool="false">
      <match key="storage.removable" bool="false">
        <merge key="storage.automount_enabled_hint" type="bool">false</merge>
      <append key="volume.mount.valid_options" type="strlist">locale=utf8</append>
      <append key="volume.mount.valid_options" type="strlist">iocharset=1251</append>
      </match>
    </match>
  </device>
-->
</deviceinfo>


Відсутній cadca

  • Письменник
  • *****
  • дописів: 955
  • Карма: +0/-0
  • free like beer
Процитую вам краще опції з "man mount" для vfat:
Цитата
      codepage=value
              Sets the codepage for converting to shortname characters on FAT and VFAT filesystems. By default, codepage
              437 is used.
...
       iocharset=value
              Character set to use for converting between 8 bit characters and 16 bit Unicode characters. The default is
              iso8859-1.  Long filenames are stored on disk in Unicode format.
та для ntfs:
Цитата
      iocharset=name
              Character  set  to  use when returning file names.  Unlike VFAT, NTFS suppresses names that contain uncon?
              vertible characters. Deprecated.

       nls=name
              New name for the option earlier called iocharset.

       utf8   Use UTF-8 for converting file names.

Ось як виглядає потрібний файл у мене:
$ cat /usr/share/hal/fdi/30osvendor/locale-policy.fdi
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->            

<deviceinfo version="0.2">

  <device>
    <match key="block.is_volume" bool="true">
      <match key="volume.fsusage" string="filesystem">

        <match key="volume.fstype" string="auto">
                <merge key="volume.policy.mount_option.iocharset=utf8" type="bool">true</merge>
        </match>
        <match key="volume.fstype" string="vfat">
                <merge key="volume.policy.mount_option.iocharset=utf8" type="bool">true</merge>
        </match>
        <match key="volume.fstype" string="msdos">
                <merge key="volume.policy.mount_option.iocharset=utf8" type="bool">true</merge>
        </match>
        <match key="volume.fstype" string="ntfs">
                <merge key="volume.policy.mount_option.iocharset=utf8" type="bool">true</merge>
                <merge key="volume.policy.mount_option.utf8" type="bool">true</merge>
        </match>

      </match>
    </match>

    <match key="storage.drive_type" string="cdrom">
                <merge key="storage.policy.mount_option.iocharset=utf8" type="bool">true</merge>
                <merge key="storage.policy.mount_option.utf8" type="bool">true</merge>
    </match>
  </device>

</deviceinfo>
Ubuntu 20.04/18.04; CentOS 7.x

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Не допомагає. Пище те ж. [12782.410536] FAT: codepage cp437 not found

Відсутній cadca

  • Письменник
  • *****
  • дописів: 955
  • Карма: +0/-0
  • free like beer
Запустіть "lshal -m" та спробуйте змонтувати флешку з допомогою віджету КДЕ - результат виводу викладіть сюди.
Ubuntu 20.04/18.04; CentOS 7.x

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
peinguin@debian:~/codeblocks/marina_lab1/bin/Debug$ lshal -m

Start monitoring devicelist:
-------------------------------------------------
^C
peinguin@debian:~/codeblocks/marina_lab1/bin/Debug$ lshal -m

Start monitoring devicelist:
-------------------------------------------------
08:12:15.622: usb_device_58f_6387_5K4PRSK9 added
08:12:15.659: usb_device_58f_6387_5K4PRSK9_if0 added
08:12:15.662: usb_device_58f_6387_5K4PRSK9_if0_scsi_host added
08:12:20.628: usb_device_58f_6387_5K4PRSK9_if0_scsi_host_0 added
08:12:20.660: usb_device_58f_6387_5K4PRSK9_if0_scsi_host_0_scsi_device_lun0 added
08:12:20.813: storage_serial_JetFlash_TS2GJF150_5K4PRSK9_0_0 added
08:12:20.815: storage_serial_JetFlash_TS2GJF150_5K4PRSK9_0_0 property info.interfaces = {'org.freedesktop.Hal.Device.Storage.Removable'} (new)
08:12:20.919: volume_uuid_5170_EF5A added

Коли я натискаю на флешку в віджеті - нові рядки не додаються.