Page 1 of 1

[SOLVED] xfce-base/thunar-1.2.1 problem z montowaniem USB

Posted: Mon Apr 11, 2011 6:37 am
by qdlacz
Witam

xfce-base/xfce4-meta-4.8
xfce-base/thunar-1.2.1 USE="dbus libnotify pcre startup-notification udev -debug -exif -test" XFCE_PLUGINS="trash"

Problem dotyczy montowania pamięci usb na FAT32 oraz dysków na ntfs
Po kliknięciu p lewym panelu dostaję komunikat "Not Authorized"
Na koncie root wszystko działa prawidłowo.

Jest to czysta instalacja i korzystałem z tego poradnika http://www.gentoo.org/doc/pl/xfce-config.xml

Siedzę nad tym już parę dni z przerwami i nic.

Posted: Wed Apr 13, 2011 11:04 am
by Bastian82
A nie trzeba dodać użytkownika do jakiejś grupy?

Co masz w fstab?

Posted: Wed Apr 13, 2011 6:32 pm
by sebas86
Jak masz udev to na 99% potrzebny jest także odpowiedni wpis policykit (to na pewno masz już w systemie :)).

Do samego montowania u mnie starczyło dodać coś takiego:

Code: Select all

[Local disk mount]
Identity=unix-group:wheel
Action=org.freedesktop.udisks.filesystem-mount
ResultAny=yes
ResultInactive=no
ResultActive=yes

[Local disk eject]
Identity=unix-group:wheel
Action=org.freedesktop.udisks.drive-eject
ResultAny=yes
ResultInactive=no
ResultActive=yes

[Local disk detach]
Identity=unix-group:wheel
Action=org.freedesktop.udisks.drive-detach
ResultAny=yes
ResultInactive=no
ResultActive=yes

[Local disk umount]
Identity=unix-group:wheel
Action=org.freedesktop.udisks.filesystem-unmount-others
ResultAny=yes
ResultInactive=no
ResultActive=yes
Powyższy wpis należy zapisać np. jako org.freedesktop.udisk.pkla w katalogu /etc/polkit-1/localauthority/50-local.d/.

Listę dostępnych akcji w systemie szukaj w /usr/share/polkit-1/actions, a tutaj znajdziesz trochę więcej informacji na temat pisania własnych reguł dostępu: http://hal.freedesktop.org/docs/polkit/ ... ity.8.html. Na podobnych zasadach możesz dodawać reguły umożliwiające użytkownikowi zamknięcie, ponowne uruchomienie, uśpienie systemu.

Ostatnia reguła nie jest potrzebna.

-- edit --
Będąc przy temacie postanowiłem rozwiązać męczący mnie problem niedziałającej sesji consolekit kiedy korzystam z prostego menadżera logowania (np. Slim lub konsola tekstowa + startx) i jeśli będziesz miał podobny problem (np. marudzący nm-applet, że nie ma uprawnień pomimo uruchomienia demona consolekit, dbus) zajrzyj do http://forums.gentoo.org/viewtopic-t-858965.html. Prawdopodobnie masz także problem z tym ponieważ przy działającej sesji consolekit powinno wyskoczyć zapytanie o hasło użytkownika root aby autoryzować np. podłączenie dysku lub zamknięcie systemu, a dostajesz tylko info o braku uprawnień.

Posted: Thu Apr 14, 2011 6:37 pm
by gexcite
Będąc przy temacie postanowiłem rozwiązać męczący mnie problem niedziałającej sesji consolekit kiedy korzystam z prostego menadżera logowania (np. Slim lub konsola tekstowa + startx) i jeśli będziesz miał podobny problem (np. marudzący nm-applet, że nie ma uprawnień pomimo uruchomienia demona consolekit, dbus) zajrzyj do http://forums.gentoo.org/viewtopic-t-858965.html. Prawdopodobnie masz także problem z tym ponieważ przy działającej sesji consolekit powinno wyskoczyć zapytanie o hasło użytkownika root aby autoryzować np. podłączenie dysku lub zamknięcie systemu, a dostajesz tylko info o braku uprawnień.
Hmm, czy u Ciebie ten sposób działa? Ja to przerabiałem ze slimem i za nic w świecie nie chciało działać jak należy. Zwykły użytkownik za nic nie mógł wyłączyć komputera. Dopiero użycie gdm rozwiązało problemy.

Posted: Thu Apr 14, 2011 7:16 pm
by sebas86
gexcite wrote:Hmm, czy u Ciebie ten sposób działa? Ja to przerabiałem ze slimem i za nic w świecie nie chciało działać jak należy. Zwykły użytkownik za nic nie mógł wyłączyć komputera. Dopiero użycie gdm rozwiązało problemy.
Możliwość restartowania i zamykania systemu działała mi bez rzeczy omówionych w tym temacie, wystarczyło przygotować odpowiednie reguły (podobne do tych, które podałem powyżej dla udisks). Być może brakuje Ci ustawionych flag consolekit, policykit, udev dla pakietu xfce-base/xfce4-session (lub w ogóle nie masz tego pakietu - xfce4-meta wymaga dodania flagi session aby wciągnąć pakiet w zależnościach).

Rzeczy omówione w tamtym temacie pomogły mi z innymi programami korzystającymi z consolekit, dziwnym trafem nm-applet jako jedyny (thunar i xfce4-session radziły sobie dobrze) nie działał prawidłowo w połączeniu ze Slimem (uruchamiał się dopiero po ręcznym rozpoczęciu sesji consolekit za pomocą ck-launch-session) - być może thunar i xfce4-session potrafią ręcznie uruchamiać własne sesje, ale szczerze powiedziawszy nie mam pojęcia jak one korzystają z tych bibliotek...

Aby sesja consolekit startowała globalnie dla całej sesji X z po logowaniu z poziomu Slima musiałem zmienić dwie rzeczy...

W /etc/pam.d/system-login zmieniłem

Code: Select all

session   optional   pam_ck_connector.so nox11 
na

Code: Select all

session   optional   pam_ck_connector.so 
Oraz w /etc/slim.conf linię definiującą login_cmd na

Code: Select all

login_cmd    exec ck-launch-session startxfce4 
Nad zmianą login_cmd muszę jeszcze pomyśleć, bo domyślny skrypt ładuje poprawnie zmienne globalne - bez tego możesz mieć problem z brakiem zdefiniowanych np. zmiennych LANG i LC_ALL. Tymczasowo to obszedłem dopisując do skryptu /usr/bin/startxfce4, zaraz na początku, linię source /etc/profile.

Podsumowując:
Jeśli masz problem z sesją spróbuj przed zmianą czegokolwiek w konfiguracji systemowej uruchomić ck-launch-session. Jeśli nadal będą występowały problemy, sprawdź czy masz dodane flagi consolekit, policykit, udev i uruchomione usługi consolekit i dbus. Sprawdź też czy emerge -uDNpv nie wskazuje jakiś pakietów do przebudowy z powodu dodania odpowiednich flag, w razie potrzeby przebuduj.

PPS. W sumie z policykit, consolekit i całą resztą i tak jest syf, głównie przez brak dobrej dokumentacji w jednym miejscu... Warto się posiłkować wiki Archa.

Posted: Thu Apr 14, 2011 7:59 pm
by gexcite
Problem właśnie polega na tym, że to co jest w poradniku, i o czym Ty piszesz zrobiłem / mam / itp. I flagi i wszystkie potrzebne pakiety itp. Zrobienie wpisów policykit owszem, rozwiązuje problem, jednak gdy używam gdm'a to nie trzeba ich robić i wszystko działa. Chyba, że w przypadku slima te wpisy są konieczne, chociaż z poradnika wywnioskowałem że powinno działać bez.

Posted: Thu Apr 14, 2011 9:45 pm
by sebas86
W takim razie nie czytałeś uważnie poradnika, wyraźnie jest napisane, że użytkownicy Slima powinni zwrócić na to uwagę. Slim nie umie sam z siebie korzystać z policykit, GDM, KDM umieją - tak przynajmniej wynika z mojego własnego doświadczenia i kilkudziesięciu postów użytkowników, które prześledziłem oraz poradników, wiki, itp. źródeł kilku dystrybucji (Ubuntu, RedHat, Arch) - w źródła zarówno Slima, GDM jak i KDM nie zaglądałem, więc nie powiem, że jest tak na 100%, jednak sam fakt, że aplikacje korzystające z policykit działają poprawnie po starcie ze GDM, a niepoprawnie po starcie ze Slima mówi wystarczająco dużo, poza tym ufam, że na stronach http://library.gnome.org/admin/gdm/2.32 ... it.html.en (dokumentacja GDM potwierdza istnienie wsparcia dla policykit) i Slima http://slim.berlios.de/ (brak na liście "ficzersów" policykit) jest napisana prawda. ;)

Posted: Thu Apr 14, 2011 10:23 pm
by gexcite
Do pewnego stopnia zgadzam się z Twoją wypowiedzią, jednak to co napisano w poradniku wyraźnie wskazuje, że traktuje on o tym, co zrobić aby jednak korzystać ze slima i aby wsio rabotało.
You need authentication agent installed to replace plain "Not authorized." dialog with useful password dialog
If you don't want to install any agent, you can also define your own rules like described in:
http://wiki.archlinux.org/index.php/Xfc ... le_devices
If you use simple display manager without built-in ConsoleKit support, such as XDM or SLIM, you also need to change:
Jak dla mnie autor wyraźnie pisze, że wylogowanie, montowanie i inne fajne rzeczy powinny działać ze slimem bez definiowania dodatkowych reguł.

Tak czy siak autor na koniec nadmienia:
I might write proper Gentoo documentation for this later on, but I can't promise anything.
To takie luźne rozważania nad poruszonym tematem. Tym bardziej dziękuję za zainteresowanie. Na chwilę obecną mam gdm i nic więcej do szczęścia mi nie trzeba :)

Posted: Fri Apr 15, 2011 4:15 pm
by sebas86
gexcite wrote:
If you use simple display manager without built-in ConsoleKit support, such as XDM or SLIM, you also need to change:
Jak dla mnie autor wyraźnie pisze, że wylogowanie, montowanie i inne fajne rzeczy powinny działać ze slimem bez definiowania dodatkowych reguł.
Zacytowany przez Ciebie fragment w wolnym tłumaczeni:
Jeśli używasz prostego menadżera, bez wbudowanego wsparcia dla Consolekit, takiego jak XDM lub SLIM, potrzebujesz zmienić:
Wpisy policykit są jednym ze sposobów rozwiązania problemu, podałem jako pierwszy ponieważ działał u mnie od dłuższego czasu... drugie rozwiązanie globalne podałem w drugim poście.
gexcite wrote:Chyba, że w przypadku slima te wpisy są konieczne, chociaż z poradnika wywnioskowałem że powinno działać bez.
Są konieczne wpisy w /etc/pam.d/system-login i /etc/slim.conf. Nie są potrzebne reguły policykit, chociaż po ich dodaniu thunar zaczął korzystać poprawnie z zasobów bez potrzeby tworzenia działającej sesji policy-kit.

Krótko mówiąc...

1. Masz zainstalowany GDM i jest po problemie...
2. Korzystasz ze Slima i tworzysz odpowiednie reguły policykit, które pozwalają korzystać użytkownikowi z zasobów.
3. Korzystasz ze Slima i tworzysz poprawną sesję consolekit dla zalogowanego użytkownika:
a) ręcznie odpalasz ck-lauch-session po zalogowaniu
b) modyfikujesz /etc/pam.d/system-login i /etc/slim.conf zgodnie ze wskazówkami
4. Olewasz udeva, policykit, consolekit i itp. i korzystasz z mount/umount. ;)

Jeśli powyższe nie działa to znaczy, że masz skopane coś więcej i musisz uważniej przyjrzeć się systemowi. ;)


[OT]
I might write proper Gentoo documentation for this later on, but I can't promise anything.
A czy to coś zmieni, skoro istnieją podane w tym wątku źródła, które rozwiązują problem?[/OT]

Posted: Fri Apr 22, 2011 7:08 am
by qdlacz
Zainstalowałem GDM i po problemie
Dzięki !