Pagina 1 di 2

Automount slacky - funziona benissimo

Inviato: lun 30 ott 2006, 20:23
da linuxboy
HAL DBUS PMOUNT (e UDEV) su slackware 11.
===================================

Intanto, io ho il kernel 2.6.16.20. Ma credo funzioni benissimo su tutti i kernel 2.6.

Intanto, accertatevi di aver installato l'ultima versione di udev. Il package e'

udev-097-i486-10.tgz e lo trovate su http://packages.slackware.org

Se dovete ancora installare questo pacchetto, PRIMA rimuovete a mano il file /etc/rc.udev esistente: a me, per qualche strana ragione, non veniva rimosso il file precedente, anche rimuovendo il package del vecchio udev. E con il vecchio file rc.udev, udev 097 non partiva.

Assicuratevi che il nuovo file /etc/rc.d/rc.udev, installato dal packages udev-097-i486-10.tgz, abbia il permesso di esecuzione.

Scaricate i pacchetti di loris qui:

http://www.slacky.it/misto/sospeso/automount.tar

(poi quando loris li passa nel repository di slacky.it, li prenderete da li)

Decomprimete. Ci sono 4 packages *.tgz.

Uscite da KDE (konsole, su, init 3) e loggatevi come root.

installate i 4 pacchetti con

# installpkg *.tgz

create i seguenti utenti e gruppo:

# useradd messagebus
# groupadd haldaemon
# useradd -g haldaemon haldaemon

create le seguenti directory:

# mkdir -p /var/run/hald/hald-local
# mkdir -p /var/run/hald/hald-runner
# mkdir -p /var/run/dbus/

cambiate il permesso del file /etc/rc.d/rc.hald (nel package di loris non e' flaggato come eseguibile e quindi non parte, se non lo aggiustate):

# chmod a+x /etc/rc.d/rc.hald

inserite questo nel vostro /etc/rc.d/rc.local

Codice: Seleziona tutto

# inizializzazione sistema HAL
if [ -x /etc/rc.d/rc.messagebus ]; then
    if [ -w /var/run/dbus/dbus.pid ]; then
        rm /var/run/dbus/dbus.pid 
    fi
    /etc/rc.d/rc.messagebus start
    if [ -x /etc/rc.d/rc.hald ]; then
      if [ -w /var/run/hald/pid ]; then
         rm /var/run/hald/pid 
      fi
      /etc/rc.d/rc.hald start
    fi
fi
Ora editate il file /etc/dbus-1/system.d/hal.conf e aggiungete questo:

Codice: Seleziona tutto

  <policy group="100">
    <allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
    <allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
    <allow send_interface="org.freedesktop.Hal.Device.Volume"/>
    <allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
  </policy>
dove quel 100 e' il numero del gruppo degli users (vedere /etc/group).

Fatto. Ora riavviate il PC.

Alla partenza di KDE, andate in Proprieta' del Desktop -> Comportamento - icone dei dispositivi e abilitate quelle che vi piacerebbe vedere sul desktop (per provare vanno benissimo quelle di default).

Inserite un CDROM o una penna usb. Vedrete apparire una finestrella che vi chiedera' cosa volete fare e l'icona del dispositivo sara' mostrata sul desktop.

Ah, finalmente capirete a che serve la directory "/media". Provate ad inserire un DVD video e a scegliere di aprirlo in una directory.

NOTE: problemi xine_engine.

udev cancella i devices che non riconosce. Di conseguenza, link simbolici fatti in /dev, per esempio a /dev/hdc, per avere qualcosa chiamata /dev/cdrom o /dev/dvd, verranno cancellati. xine_engine, di default cerca /dev/dvd. Per cui, poi codeine o xine non vi fanno vedere i dvd. Per risolvere avete due modi:

1) fuck off mode: cambiare il link nelle impostazioni di xine_engine e farlo puntare al dispositivo reale, per esempio /dev/hdc.

2) elegant mode: creare una regola per udev. Se interessa, vi dico come.

--
http://www.fmtec.it/felinux , The Italian Way

Inviato: lun 30 ott 2006, 21:15
da gohanz
Complimenti! Fai un Mini-Howto accessorio su WikiSlacky! ;)

Inviato: lun 30 ott 2006, 22:38
da linuxboy
gohanz ha scritto:Complimenti! Fai un Mini-Howto accessorio su WikiSlacky! ;)
OK, appena loris mette i suoi package nel repository lo faccio. O li lasciamo li dove sono?

Loris, se mi leggi, batti un colpo.

Sarebbe il caso di mettere queste directory vuote nei packages:

/var/run/hald/hald-local
/var/run/hald/hald-runner
/var/run/dbus/

in piu', si dovrebbe correggere il permesso di esecuzione per il file /etc/rc.d/rc.hald

Inviato: lun 30 ott 2006, 22:48
da Loris
Domani o dopodomani sistemo i pacchetti e li rendo disponibili, per la guida basta modificare quella presente nel wiki.
Ciao Loris

Inviato: lun 30 ott 2006, 23:04
da giberg
Comunque mi pare che il gruppo e l'utente haldaemon li crei già il pacchetto di Loris.

Ora riproverò la procedura da capo. Prima per miracolo mi si era montato il cd in automatico (con la classica finestra che mi chiedeva cosa fare). Solo che poi mi dava un errore di hal (probabilmente mi mancava un settaggio in kde). Poi più nulla... Forse forse il mount manuale è ancora il più comodo ma visto che non c'ho niente da fare... mi metto a sperimentare :D

Inviato: lun 30 ott 2006, 23:54
da giberg
Ecco cosa mi succede:

seguo la procedura (i pacchetti li avevo già installati). Hald ha il permesso di esecuzione. Correggo un fi in /etc/rc.d/rc.local (che comunque a quanto pare non dava errori). Riavvio, faccio partire kde, inserisco un cd: nulla! Guardo con ps aux se c'è traccia di hal e dbus ma non mi dice nulla. Esco da kde rilancio rc.messagebus, rilanci rc.hald, startx nuovamente, inserisco un cd: nulla.

Curiosità mia provo a decommentare la riga riguardante il cdrom in /etc/fstab. Non cambia nulla. Faccio eject del cd e rimane con il cassettino aperto. Decommento la riga in /etc/fstab, salvo e magia appare la finestra che mi dice di aver rilevato il dispositivo e se volevo aprirlo in una nuova finestra (il lettore però era ancora aperto :shock: . Forse è un sensitivo :roll: ). Ok allora chiudo il lettore con il cd, dico di aprire in una finestra e taaaac errore: "Funzione disponibile solo con HAL". E che cavolo, ce l'ho HAL. Ma questo errore dovrebbe essere già trattato e ora me lo andrò a vedere. Sono curioso di sapere se al prossimo riavvio funziona ancora o no. Comunque rispetto a prima se reinserisco il cd continua a rilevarlo, buon segno.

Inviato: mar 31 ott 2006, 8:50
da Absolut
http://www.slacky.it/forum/viewtopic.php?t=15866

a me con questa piccola correzione funziona bene....

Inviato: mar 31 ott 2006, 9:20
da gianco
Ciao,
subito dopo l'installazione dei pacchetti, anche io avevo dei problemi, nel senso che non funzionava nulla. Una rapida indagine mi ha consentito di scoprire che il problema era in dbus. Il pid file che dbus crea (almeno sul mio sistema) è /var/run/dbus/pid e non /var/run/dbus/dbus.pid. Ho sostituito in /etc/rc.d/rc.messagebus e in /etc/rc.d/rc.local il nome mettendo quello giusto, ho riavviato e il cdrom e la chiavetta usb che avevo lasciato inseriti , dopo il log come utente si montano con il click sull'icona del dispositivo (prima ricevevo l'errore Funzione disponibile solo con HAL). Della finestra e di automount ancora nessuna traccia, ma in verità non sto ancora usando udev, forse il problema sta li. Vi tengo aggiornati se scopro qualcos'altro.

EDIT: Inserendo il cdrom si apre la finestra, ma se gli dico di aprire system:/media/hdb viene fuori l'errore di policy già citato. Il gruppo nel file di configurazione di dbus/hal è 1000, che dovrebbe essere users, ho provato a mettere 100, ma vengono fuori errori del tipo URL malformata (??), mentre con la chiavetta usb la finestra non si apre, ma con il click sull'icona si monta correttamente.

EDIT 2: Come immaginavo, con l'utente root il comportamento del cdrom è quello giusto, ora devo uscire e non riesco a testare la usb, comunque stasera continuo e vi faccio sapere.

Inviato: mar 31 ott 2006, 9:55
da giberg
Ma il gruppo users in /etc/group è 100. Come mai mettete mille?


Comunque, anche con le modifiche suggerite, continua a non andare. Funziona solo se commento la riga del cdrom in fstab, salvo, la decommento di nuovo, salvo e magicamente compare la finestra di rilevamento (boh, forse devo metter mano a qualcosaltro? udev? Lì non ho toccato niente non essendo scritto di farlo nella guida). Poi come al solito mi dice che la funzione è disponibile solo con HAL. L'icona magica mi è comparsa solo una volta ieri sera.

Ho notato poi che quando fermo rc.messagebus mi dice sempre questo:

Codice: Seleziona tutto

Stopping system message bus: No pidfile found. We used killall to make sure.
Può centrare qualcosa? Questo succede sia senza che con la modifica proposta da gianco sui riferimenti a dbus.pid...

Inviato: mar 31 ott 2006, 10:10
da gianco
giberg ha scritto:Ma il gruppo users in /etc/group è 100. Come mai mettete mille?


Comunque, anche con le modifiche suggerite, continua a non andare. Funziona solo se commento la riga del cdrom in fstab, salvo, la decommento di nuovo, salvo e magicamente compare la finestra di rilevamento (boh, forse devo metter mano a qualcosaltro? udev? Lì non ho toccato niente non essendo scritto di farlo nella guida). Poi come al solito mi dice che la funzione è disponibile solo con HAL. L'icona magica mi è comparsa solo una volta ieri sera.

Ho notato poi che quando fermo rc.messagebus mi dice sempre questo:

Codice: Seleziona tutto

Stopping system message bus: No pidfile found. We used killall to make sure.
Può centrare qualcosa? Questo succede sia senza che con la modifica proposta da gianco sui riferimenti a dbus.pid...
Per qualche strano motivo, /etc/rc.d/rc.messagebus e /etc/rc.d/rc.hal con i comandi start stop e restart sembra non tengano conto del cambiamento dei file di configurazione (o più probabilmente è kde che non controlla se i demoni sono stati riavviati) devi apportare le modifiche e riavviare il sistema oppure entrare in runlevel 3 e poi 4.

Il gruppo users in /etc/group in effetti è 100, ma io ho messo subito 1000 perchè mi ricordavo fosse storicamente quello su slack, ho visto solo dopo /etc/group. Tuttavia con 1000 funziona (almeno in parte) con 100 non funziona nulla. Stasera proverò a scrive una policy per-user e non per-group, per vedere che succede.

Ciao

Inviato: mar 31 ott 2006, 10:55
da giberg
Le modifiche e i riavvii dei servizi li ho sempre fatte da init3 e poi ho dato startx.

Inviato: mar 31 ott 2006, 12:21
da linuxboy
solo se commento la riga del cdrom in fstab, salvo, la decommento di nuovo, salvo e magicamente compare la finestra di rilevamento
questa e' una normale funzione di kde. hal non c'entra.

Codice: Seleziona tutto

Stopping system message bus: No pidfile found. We used killall to make sure.
questo lascia capire che, probabilmente, messagebus non parte. E quindi neanche hal.

Esci da X e loggati come root.

1) ps auwx | fgrep dbus ti fa vedere il processo? e ps auwx | fgrep hald ?

2) accertati che esista /var/run/dbus, nella qual dovresti trovare il file dbus.pid quando il demone funziona.

3) accertati che esistano /var/run/hald/hald-runner e /var/run/hald/hald-local. Sotto /var/run/hald ci dovrebbe essere anche il pid di hald, quando questo funziona.

4) ferma i due demoni:
/etc/rc.d/rc.messagebus stop
/etc/rc.d/rc.hald stop

5) cancella a mano i PID che vedi eventualmente nelle directory /var/run/hald e /var/run/dbus

6) accertati di aver aggiunto il gruppo haldaemon e l'utente haldaemon in questo gruppo

7) accertati di aver aggiunto l'utente messagebus

8) lancia /etc/rc.d/rc.messagebus start. Controlla che il demone sia attivo:

ps auwx | fgrep dbus

1003 4299 0.0 0.0 2456 976 ? Ss 11:38 0:00 /usr/bin/dbus-daemon --system

9) lancia /etc/rc.d/rc.hald start. Controlla che il demone sia attivo:

oh@matrix:~$ ps auwx | fgrep hald
1004 4307 0.0 0.7 9460 7872 ? Ss 11:38 0:00 /usr/sbin/hald --daemon=yes --use-syslog
root 4308 0.0 0.1 2952 1084 ? S 11:38 0:00 hald-runner
1004 4320 0.0 0.0 2204 896 ? S 11:38 0:00 /usr/libexec/hald-addon-keyboard
1004 4322 0.0 0.0 2200 908 ? S 11:38 0:00 /usr/libexec/hald-addon-acpi
1004 4326 0.0 0.0 2204 900 ? S 11:38 0:00 /usr/libexec/hald-addon-keyboard
root 4337 0.0 0.0 2080 736 ? S 11:38 0:00 /usr/libexec/hald-addon-storage
root 4339 0.0 0.0 2080 736 ? S 11:38 0:00 /usr/libexec/hald-addon-storage

quello che ti esce non deve essere esattamente uguale.

A questo punto, avvia X e KDE.

Infine: udev e' attivo?

forse un pò OT

Inviato: mar 31 ott 2006, 12:40
da lennynero
raga anche io mi sono avvicinato ad udev, solo che ho commesso una "imperdonabile" distrazione: ho cancellato tutte le devices da /dev, ora al boot se non avvio anche rc.udev(ma solo rc.hotplug) non mi rileva le periferiche...come posso riprestinare il funzionamento senza udev?cioè è un punto di non ritorno?
mi spiego meglio: io non ricordo bene cosa ho combinato oltre ad aver cancellato le dev e ad aver aggiunto rc.udev in rc.M, ma a quanto pare ora se non uso anche rc.udev le periferiche non vengono caricate in /dev...
ps ora con udev la eth1 viene rilevata dopo che venga eseguito lo script rc.wireless di conseguenza non si attiva la wireless al boot, come mai prima lo faceva?è sempre riconducibile al problema di hotplug che non è + autosufficiente?

Inviato: mar 31 ott 2006, 14:32
da giberg
Io mi trovo anche un gruppo che di nome messagebus oltre all'utente messagebus... Tolgo il gruppo?

Inviato: mar 31 ott 2006, 16:40
da giberg
Udev è attivo.

Boh, lancio i servizi e continua a non vederli con ps auwx | fgrep dbus e ps auwx | fgrep hald .