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

## 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.

----------

## Bastian82

A nie trzeba dodać użytkownika do jakiejś grupy?

Co masz w fstab?

----------

## sebas86

Jak masz udev to na 99% potrzebny jest także odpowiedni wpis policykit (to na pewno masz już w systemie  :Smile: ).

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

```
[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/pklocalauthority.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 https://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ń.

----------

## gexcite

 *Quote:*   

> 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 https://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.

----------

## 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 

```
session   optional   pam_ck_connector.so nox11 
```

 na 

```
session   optional   pam_ck_connector.so 
```

Oraz w /etc/slim.conf linię definiującą login_cmd na 

```
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.

----------

## 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.

----------

## 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/consolekit.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.  :Wink: 

----------

## 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.

 *Quote:*   

> You need authentication agent installed to replace plain "Not authorized." dialog with useful password dialog

 

 *Quote:*   

> 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/Xfce#Thunar_-_Removable_devices

 

 *Quote:*   

> 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:

 *Quote:*   

> 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  :Smile: 

----------

## sebas86

 *gexcite wrote:*   

>  *Quote:*   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:  *Quote:*   

> 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.  :Wink: 

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

[OT] *Quote:*   

> 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]

----------

## qdlacz

Zainstalowałem GDM i po problemie 

Dzięki !

----------

