Folder domowy w `root` a nie w` home`… Jestem zdezorientowany!


8

Mam problem z homefolderem, co powoduje problemy z uprawnieniami.

Zainstalowałem aplikację, która mówi mi, że nie mam uprawnień do zapisywania /home/username/Desktop, ale w rzeczywistości mój dom jest w /home/username/Área de Trabalho(Área de Trabalho = Desktop, ale w języku portugalskim).

  • Dostęp do sudomojego domu pokazano na poniższym obrazku (spójrz na ikonę folderu).
    ( Wewnątrz jest desktopfolder. )

wprowadź opis zdjęcia tutaj

  • Dostęp do usermojego domu, jak zwykle, pokazano na poniższym obrazku.
    ( Wewnątrz jest Área de Trabalhofolder. )

wprowadź opis zdjęcia tutaj

Czy to normalne? Czy powinienem powiedzieć Ubuntu, gdzie jest mój homefolder? Co muszę zrobić?

Z góry dziękuję!

Odpowiedzi:


11

Pierwszy zrzut ekranu („jak sudo”) jest pokazany w widoku ikon, a drugi zrzut ekranu („jak zwykły user”) znajduje się w szczegółowym widoku listy, ale w rzeczywistości pokazują tę samą strukturę folderów. Nie ma rozbieżności. ( odpowiedź tachyons wyjaśnia, dlaczego różne foldery mają ikonę domu). Szczegółowy widok listy zawiera nieco więcej informacji; w szczególności wywoływany folder /homejest rozwijany w celu ujawnienia jego zawartości, w tym p_sardinhapodfolderu.

Ponieważ oba widoki są równoważne, nie ma problemu z tym, jak przeglądasz strukturę folderów. Dlatego możemy podzielić twoje pytanie na dwie części:

  • Gdzie jest mój folder domowy?
  • Jak rozwiązać problem polegający na tym, że aplikacja próbuje uzyskać dostęp do folderu na pulpicie, ale kończy się niepowodzeniem, ponieważ nazwa tego folderu jest w niewłaściwym języku?

Gdzie jest mój folder domowy?

Każdy użytkownik systemu Ubuntu ma folder domowy (który jest również nazywany katalogiem domowym , ponieważ folder i katalog oznaczają to samo). Jeśli masz konta użytkowników skonfigurowane w systemie Ubuntu dla więcej niż jednej osoby, każde z nich będzie miało osobny folder domowy.

Istnieje folder o nazwie /home. To nie jest twój folder domowy. W rzeczywistości nigdy nie jest to folder domowy nikogo. Raczej /homejest folder, który zawiera foldery domowe użytkowników .

Twój folder domowy to /home/p_sardinha, ponieważ twoja nazwa użytkownika to p_sardinha.

Mówiąc bardziej ogólnie, dla człowieka usernamejest to folder domowy użytkownika ./home/username

  • W niektórych systemach, w tym w twoim, folder o nazwie /homezawiera podfolder lost+found. To nie jest folder domowy nikogo . Zamiast tego istnieje domyślnie w folderze głównym systemów plików ext2 / ext3 / ext4; służy do przechowywania plików, które są odzyskiwane podczas naprawy systemu plików, i nie trzeba nic o tym wiedzieć, aby móc korzystać z folderu domowego.

  • Istnieją niektóre konta użytkowników, które nie odpowiadają faktycznym użytkownikom komputera. Istnieją, aby niektóre programy mogły działać ze specjalnymi tożsamościami, zdolnościami i ograniczeniami odpowiednimi do zadań, do których wykonania są przeznaczone. Użytkownicy niebędący ludźmi zazwyczaj nie mają swoich katalogów domowych /home. Na przykład, jak wspomniano w tachionach , rootużytkownik, który faktycznie wykonuje polecenia, które uruchamiasz za pomocą sudoi gksu/gksudo (chyba że używasz -uflagi) ma /rootjako katalog główny.

Jednym z powodów, dla których rozróżnienie między folderem o nazwie /homei twoim folderem domowym (który jest jego podfolderem) jest czasem mylące, jest to, że Nautilus (przeglądarka plików Ubuntu) nazywa twój folder domowy „Home”. Na przykład jest to zawartość mojego folderu domowego, pokazana w Nautilus:

Okno Nautilus dla folderu domowego

Jednak rzeczywista nazwa tego folderu (którego zawartość jest wyświetlana) to /home/ek(ponieważ moja nazwa użytkownika to ek). Mój folder pulpitu jest wywoływany Desktopi znajduje się w folderze domowym, więc jego pełna ścieżka to /home/ek/Desktop.

Jak rozwiązać problem polegający na tym, że aplikacja próbuje uzyskać dostęp do folderu na pulpicie, ale kończy się niepowodzeniem, ponieważ nazwa tego folderu jest w niewłaściwym języku?

Może istnieć rozwiązanie specyficzne dla aplikacji, ale nie podałeś szczegółowych informacji o okolicznościach, w których wystąpił błąd lub w jakiej aplikacji się dzieje, więc nie mogę zapewnić takiego rozwiązania. Na szczęście mogę podać ogólne rozwiązanie.

Ponieważ foldery są czasami nazywane czymś innym niż ich prawdziwa nazwa (na przykład folder domowy jest czasem nazywany, Homenawet jeśli jego nazwa to p_sardinha), najpierw upewnij się, że naprawdę jest to nazwa folderu na pulpicie Área de Trabalho. Łatwo to sprawdzić - po prostu wyświetl zawartość swojego folderu domowego (tak jak to zrobiłem na powyższym zrzucie ekranu) i upewnij się, że nazywa się tak. Wierzę, że już to zrobiłeś.

Tak więc prawdziwa pełna nazwa folderu na pulpicie to /home/p_sardinha/Área de Trabalho. Ale przynajmniej jedna z twoich aplikacji chce uzyskać do niej dostęp /home/p_sardinha/Desktop. Zakładając, że nie ma również folderu o nazwie /home/p_sardinha/Desktop(powinieneś sprawdzić, aby się upewnić), powinieneś być w stanie rozwiązać problem, tworząc symboliczne łącze wywoływane Desktopw folderze domowym, które wskazuje Área de Trabalho(rzeczywisty folder pulpitu).

Aby utworzyć to dowiązanie symboliczne, otwórz okno terminala ( Ctrl+ Alt+ T) i uruchom następujące polecenia:

cd
ln -s 'Área de Trabalho' Desktop
  • Pierwsze polecenie ( cdbez niczego po nim) upewnia się, że używany wiersz poleceń znajduje się „w” folderze domowym (to znaczy, że używa on katalogu domowego jako obecnego katalogu roboczego).
  • Drugie polecenie (które zaczyna się od ln) faktycznie tworzy dowiązanie symboliczne.

To powinno rozwiązać problem. Jednak twoje aplikacje naprawdę powinny być wystarczająco internacjonalizowane, aby nie zakładać, że folder pulpitu jest zawsze wywoływany Desktop. Dlatego zalecam zgłoszenie błędu w aplikacji, w której wystąpił problem, aby programiści mogli sprawić, że aplikacja będzie działać zarówno dla użytkowników mówiących po portugalsku, jak i dla użytkowników anglojęzycznych.


Dziękuję bardzo za szczegółowe wyjaśnienie! Dla ciekawości link do dyskusji na forum aplikacji to vue-forums.uit.tufts.edu/posts/list/848.page
Sardinha

3

Tak, to normalne

polecenie sudo otwiera nautilusa w trybie root, domem roota jest sam root


3

Każdy inny użytkownik ma inny katalog domowy.

Wszystkie są skonfigurowane w pliku /etc/passwd. Musisz wylogować się i zalogować ponownie po edycji tego pliku, aby zmiana na folder domowy została zastosowana. Jeśli nie jesteś zaawansowanym użytkownikiem, i tak nie polecam edytowania tego pliku, ale wspomniałem o nim na wypadek, gdybyś był ciekawy go zobaczyć i wiedzieć, jak to działa.

Dom użytkownika „root” jest ustawiony domyślnie na domyślnie, /rootpodczas gdy katalogi domowe zwykłych użytkowników są domyślnie ustawione na /home/*username*. Zwykle nie ma dobrego powodu, aby przenieść katalog domowy.

Podczas uruchamiania programu graficznego z uprawnieniami roota za pomocą gksu/ gksudo, twój katalog domowy jest zwykle zgłaszany jako /root( wyjaśnia to dlaczego ). Jest to normalne i dzieje się tak tylko dlatego, że korzystasz z uprawnień roota (z których rzadko trzeba korzystać, gdy wszystko skonfigurujesz poprawnie).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.