Home-Ordner in `root` und nicht in` home`… Ich bin verwirrt!

8

Ich habe ein Problem mit meinem homeOrdner und dies gibt mir einige Berechtigungsprobleme.

Ich habe eine Anwendung installiert, die mir mitteilt, dass ich keine Berechtigung zum Speichern habe /home/username/Desktop, aber tatsächlich ist mein Zuhause in /home/username/Área de Trabalho(Área de Trabalho = Desktop, aber auf Portugiesisch).

  • Der Zugriff als sudomein Zuhause wird im folgenden Bild gezeigt (siehe Ordnersymbol).
    ( Im Inneren befindet sich der desktopOrdner. )

Geben Sie hier die Bildbeschreibung ein

  • Der Zugriff auf usermein Zuhause wie gewohnt ist im folgenden Bild dargestellt.
    ( Im Inneren befindet sich der Área de TrabalhoOrdner. )

Geben Sie hier die Bildbeschreibung ein

Ist das normal? Soll ich Ubuntu mitteilen, wo sich mein aktueller homeOrdner befindet? Was ich machen muss?

Vielen Dank im Voraus!

Sardinha
quelle

Antworten:

11

Der erste Screenshot ("als sudo") wird in der Symbolansicht angezeigt, und der zweite Screenshot ("als normal user") befindet sich in der detaillierten Listenansicht, sie zeigen jedoch tatsächlich dieselbe Ordnerstruktur. Es gibt keine Diskrepanz. ( Die Antwort von Tachyons erklärt, warum auf verschiedenen Ordnern das Haussymbol angezeigt wird.) In der detaillierten Listenansicht erhalten Sie ein bisschen mehr Informationen. Insbesondere wird der aufgerufene Ordner /homeerweitert, um seinen Inhalt einschließlich des p_sardinhaUnterordners anzuzeigen.

Da die beiden Ansichten gleichwertig sind, scheint es kein Problem zu geben, wie Sie Ihre Ordnerstruktur anzeigen. Daher können wir Ihre Frage in zwei Teile aufteilen:

  • Wo ist mein Home-Ordner?
  • Wie kann ich ein Problem lösen, bei dem eine Anwendung versucht, auf meinen Desktop-Ordner zuzugreifen, dies jedoch fehlschlägt, weil dieser Ordner in der falschen Sprache benannt wird?

Wo ist mein Home-Ordner?

Jeder menschliche Benutzer eines Ubuntu-Systems hat einen Home-Ordner (der auch als Home-Verzeichnis bezeichnet wird , da Ordner und Verzeichnis dasselbe bedeuten). Wenn Sie auf Ihrem Ubuntu-System Benutzerkonten für mehr als eine Person eingerichtet hätten, hätte jede von ihnen einen separaten Basisordner.

Es gibt einen Ordner namens /home. Das ist nicht dein Home-Ordner. In der Tat ist das nie jemandes Home-Ordner. Es handelt sich vielmehr /homeum den Ordner, der die Basisordner menschlicher Benutzer enthält .

Ihr Home-Ordner ist /home/p_sardinha, weil Ihr Benutzername ist p_sardinha.

Im Allgemeinen ist für einen menschlichen Benutzer usernameder Basisordner des Benutzers ./home/username

  • Auf einigen Systemen, einschließlich Ihres, /homeenthält der aufgerufene Ordner einen Unterordner lost+found. Dies ist nicht jedermanns Home-Ordner . Stattdessen ist dies standardmäßig im Stammordner der Dateisysteme ext2 / ext3 / ext4 vorhanden. Es wird verwendet, um Dateien zu speichern, die während der Reparatur des Dateisystems wiederhergestellt werden, und Sie müssen nichts darüber wissen, um Ihren Home-Ordner verwenden zu können.

  • Es gibt einige Benutzerkonten, die nicht den tatsächlichen menschlichen Benutzern Ihres Computers entsprechen. Sie sind vorhanden, damit bestimmte Programme mit speziellen Identitäten, Fähigkeiten und Einschränkungen ausgeführt werden können, die für die Aufgaben geeignet sind, für die sie entwickelt wurden. Nicht menschliche Benutzer haben im Allgemeinen keine Home-Verzeichnisse in /home. Wie bereits erwähnt , hat beispielsweise der rootBenutzer, bei dem es sich um den Benutzer handelt, der tatsächlich Befehle ausführt, mit denen Sie ausgeführt werden, sudound gksu/gksudo (sofern Sie nicht das -uFlag verwenden) das /rootAusgangsverzeichnis.

Einer der Gründe, warum die Unterscheidung zwischen dem aufgerufenen Ordner /homeund Ihrem tatsächlichen Home-Ordner (der ein Unterordner davon ist) manchmal verwirrend ist, ist, dass Nautilus (Ubuntus Dateibrowser) Ihren tatsächlichen Home-Ordner "Home" nennt. Dies ist beispielsweise der Inhalt meines Home-Ordners, der in Nautilus angezeigt wird:

Nautilus-Fenster für Home-Ordner

Der tatsächliche Name dieses Ordners (dessen Inhalt angezeigt wird) lautet jedoch /home/ek(da mein Benutzername lautet ek). Mein Desktop-Ordner wird aufgerufen Desktopund befindet sich in meinem Home-Ordner. Der vollständig qualifizierte Pfad lautet also /home/ek/Desktop.

Wie kann ich ein Problem lösen, bei dem eine Anwendung versucht, auf meinen Desktop-Ordner zuzugreifen, dies jedoch fehlschlägt, weil dieser Ordner in der falschen Sprache benannt wird?

Möglicherweise gibt es eine anwendungsspezifische Lösung, aber Sie haben keine Details zu den Umständen angegeben, unter denen der Fehler auftritt oder in welcher Anwendung er auftritt. Daher kann ich keine solche Lösung bereitstellen. Zum Glück kann ich eine allgemeine Lösung anbieten.

Da Ordner manchmal etwas anderes als ihr richtiger Name genannt werden (z. B. wird Ihr Basisordner manchmal aufgerufen Home, obwohl sein Name lautet p_sardinha), stellen Sie zunächst sicher, dass der Name Ihres Desktop-Ordners wirklich so ist Área de Trabalho. Es ist einfach, dies zu überprüfen. Zeigen Sie einfach den Inhalt Ihres Home-Ordners an (wie ich es im obigen Screenshot getan habe) und stellen Sie sicher, dass er dort so heißt. Ich glaube, Sie haben das bereits getan.

Der eigentliche vollständige Name Ihres Desktop-Ordners lautet also /home/p_sardinha/Área de Trabalho. Mindestens eine Ihrer Anwendungen möchte jedoch unter darauf zugreifen /home/p_sardinha/Desktop. Angenommen, es gibt nicht auch einen Ordner mit dem Namen /home/p_sardinha/Desktop(Sie sollten dies überprüfen, um sicherzugehen), sollten Sie in der Lage sein, das Problem zu lösen, indem Sie Desktopin Ihrem Basisordner einen symbolischen Link erstellen , der auf Área de Trabalho(Ihren tatsächlichen Desktop-Ordner) verweist .

Öffnen Sie zum Erstellen dieser symbolischen Verknüpfung ein Terminalfenster ( Ctrl+ Alt+ T) und führen Sie die folgenden Befehle aus:

cd
ln -s 'Área de Trabalho' Desktop
  • Der erste Befehl ( cdmit nichts danach) stellt sicher, dass sich die von Ihnen verwendete Befehlszeile "in" Ihrem Home-Ordner befindet (dh, dass Ihr Home-Ordner als aktuelles Arbeitsverzeichnis verwendet wird).
  • Der zweite Befehl (der mit beginnt ln) erstellt tatsächlich die symbolische Verknüpfung.

Das sollte das Problem lösen. Ihre Anwendungen sollten jedoch wirklich ausreichend internationalisiert sein, um nicht davon auszugehen, dass Ihr Desktop-Ordner immer aufgerufen wird Desktop. Daher empfehle ich, einen Fehler in der Anwendung zu melden, in der das Problem aufgetreten ist, damit die Entwickler die Anwendung sowohl für portugiesischsprachige als auch für englischsprachige Benutzer verwenden können.

Eliah Kagan
quelle
Vielen Dank für die ausführliche Erklärung! Nur aus Neugier ist der Link der Diskussion im App-Forum vue-forums.uit.tufts.edu/posts/list/848.page
Sardinha
3

Ja, das ist normal

Der Befehl sudo öffnet den Nautilus im Root-Modus. Das Home von root ist root selbst

Tachyonen
quelle
3

Jeder andere Benutzer hat ein anderes Home-Verzeichnis.

Sie sind alle in der Datei konfiguriert /etc/passwd. Sie müssen sich nach dem Bearbeiten dieser Datei abmelden und wieder anmelden, damit die Änderung des Basisordners wirksam wird. Wenn Sie kein fortgeschrittener Benutzer sind, würde ich nicht empfehlen, diese Datei zu bearbeiten, aber ich habe sie erwähnt, falls Sie neugierig sind, sie anzuzeigen und zu wissen, wie sie funktioniert.

Das Home des "Root" -Benutzers ist standardmäßig auf /root"Home " eingestellt, während die Home-Verzeichnisse von normalen Benutzern standardmäßig auf "Set" eingestellt sind /home/*username*. Es gibt normalerweise keinen guten Grund, ein Home-Verzeichnis zu verschieben.

Wenn Sie ein Grafikprogramm mit Root-Rechten mit gksu/ gksudoausführen, wird Ihr Home-Verzeichnis normalerweise als /root( dies erklärt, warum ) gemeldet . Dies ist normal und nur deshalb so, weil Sie Root-Rechte verwenden (die Sie selten benötigen sollten, wenn Sie alles richtig eingerichtet haben).

thomasrutter
quelle