Network Manager senza Gdm

22 10 2009

Dopo aver acquistato il nuovo netbook Acer Aspire One D150 e averci installato Archlinux immediatamente tramite il lettore mp3, unico dispositivo usb che avevo in casa lol,  ho incontrato uno strano problema:  nonostante avessi configurato come da guida NetworkManager una volta che avviavo la sessione di Xfce4 non mi appariva l’applet di Nm questo perchè la versione 0.7 di Nm ha adottato una nuova configurazione che viene “letta” immediatamente qualora si usi come login grafico Kdm oppure Gdm mentre nel caso si usi il file .xinitrc e il comando startx per loggarsi, c’è bisogno di apportare una modifica a due file di configurazione di dbus.

Seguendo quanto postato qui bisogna aprire il file

/etc/dbus-1/system.d/NetworkManager.conf

aggiungere il semplice hack postato dall’utente, oppure più semplicemente ricopiare direttamente questa intera configurazione:

<!DOCTYPE busconfig PUBLIC

“-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN”

http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd”&gt;

<busconfig>

<policy user=”root”>

<allow own=”org.freedesktop.NetworkManager”/>

<allow send_destination=”org.freedesktop.NetworkManager”/>

<allow send_interface=”org.freedesktop.NetworkManager”/>

<allow own=”org.freedesktop.NetworkManager.PPP”/>

<allow send_destination=”org.freedesktop.NetworkManager.PPP”/>

<allow send_interface=”org.freedesktop.NetworkManager.PPP”/>

</policy>

<!– My hack –>

<policy group=”network”>

<allow send_destination=”org.freedesktop.NetworkManager”/>

<allow send_interface=”org.freedesktop.NetworkManager”/>

</policy>

<!– End of my hack –>

<policy at_console=”true”>

<allow send_destination=”org.freedesktop.NetworkManager”/>

<allow send_interface=”org.freedesktop.NetworkManager”/>

</policy>

<policy context=”default”>

<deny own=”org.freedesktop.NetworkManager”/>

<deny send_destination=”org.freedesktop.NetworkManager”/>

<deny send_interface=”org.freedesktop.NetworkManager”/>

<deny own=”org.freedesktop.NetworkManager.PPP”/>

<deny send_destination=”org.freedesktop.NetworkManager.PPP”/>

<deny send_interface=”org.freedesktop.NetworkManager.PPP”/>

</policy>

<limit name=”max_replies_per_connection”>512</limit>

</busconfig>

questo per quanto riguarda il primo file di configurazione dell’applicazione Networkmanager ora dobbiamo operare in ugual modo per l’altro file:

/etc/dbus-1/system.d/nm-applet.conf

in cui dobbiamo sovrascrivere questo:

<!DOCTYPE busconfig PUBLIC

“-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN”

http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd”&gt;

<busconfig>

<policy user=”root”>

<allow own=”org.freedesktop.NetworkManagerUserSettings”/>

<allow send_destination=”org.freedesktop.NetworkManagerUserSettings”/>

<allow send_interface=”org.freedesktop.NetworkManagerSettings”/>

<!– Only root can get secrets –>

<allow send_interface=”org.freedesktop.NetworkManagerSettings.Secrets”/>

</policy>

<!– My hack –>

<policy group=”network”>

<allow own=”org.freedesktop.NetworkManagerUserSettings”/>

<allow send_destination=”org.freedesktop.NetworkManagerUserSettings”/>

<allow send_interface=”org.freedesktop.NetworkManagerUserSettings”/>

<deny send_interface=”org.freedesktop.NetworkManagerSettings.Secrets”/>

</policy>

<!– end of my hack –>

<policy at_console=”true”>

<allow own=”org.freedesktop.NetworkManagerUserSettings”/>

<allow send_destination=”org.freedesktop.NetworkManagerUserSettings”/>

<allow send_interface=”org.freedesktop.NetworkManagerSettings”/>

<!– Only root can get secrets –>

<deny send_interface=”org.freedesktop.NetworkManagerSettings.Secrets”/>

</policy>

<policy context=”default”>

<deny own=”org.freedesktop.NetworkManagerUserSettings”/>

<allow send_destination=”org.freedesktop.NetworkManagerUserSettings”/>

<allow send_interface=”org.freedesktop.NetworkManagerSettings”/>

<!– Only root can get secrets –>

<deny send_interface=”org.freedesktop.NetworkManagerSettings.Secrets”/>

</policy>

<limit name=”max_replies_per_connection”>512</limit>

</busconfig>

fatto questo ora basta esser certi di aver aggiunto il proprio nome utente al gruppo network, per esserne certi da terminale date il comando sudo gpasswd -a [utente] [gruppo] (ovviamente togliete le parentesi e inserite in questo caso network al nome del gruppo).

Fatto tutto questo potrete riavviare la vostra macchina e finalmente ottenere l’applet di NetworkManager anche sotto xfce senza dover per forza utilizzare gdm o kdm 🙂 Buona fortuna!