Cartella Home in `root` e non in` home` ... Sono confuso!


8

Ho un problema con la mia homecartella e questo mi sta dando alcuni problemi di autorizzazione.

Ho installato un'applicazione che mi dice che non ho il permesso di salvare /home/username/Desktop, ma in realtà la mia casa è in /home/username/Área de Trabalho(Área de Trabalho = Desktop, ma in portoghese).

  • L'accesso come sudocasa mia è mostrato nell'immagine qui sotto (guarda l'icona della cartella).
    ( All'interno c'è la desktopcartella. )

inserisci qui la descrizione dell'immagine

  • L'accesso come normale a usercasa mia è mostrato nell'immagine qui sotto.
    ( All'interno c'è la Área de Trabalhocartella. )

inserisci qui la descrizione dell'immagine

È normale? Devo dire a Ubuntu dove si trova la mia homecartella attuale ? Cosa devo fare?

Grazie in anticipo!

Risposte:


11

Il primo screenshot ("come sudo") è mostrato nella vista icona e il secondo screenshot ("come normale user") è nella vista elenco dettagliata, ma in realtà mostrano la stessa struttura di cartelle. Non c'è discrepanza. ( La risposta di Tachyons spiega perché le diverse cartelle hanno l'icona della casa su di esse.) La vista elenco dettagliata ti dà un po 'più di informazioni; in particolare, la cartella chiamata /homeviene espansa per rivelarne il contenuto, inclusa la p_sardinhasottocartella.

Poiché le due viste sono equivalenti, non sembra esserci alcun problema relativo al modo in cui stai visualizzando la struttura delle cartelle. Pertanto possiamo dividere la tua domanda in due parti:

  • Dov'è la mia cartella home?
  • Come posso risolvere un problema in cui un'applicazione tenta di accedere alla mia cartella desktop, ma non riesce perché assegna un nome a quella cartella nella lingua sbagliata?

Dov'è la mia cartella home?

Ogni utente umano di un sistema Ubuntu ha una cartella home (che è anche chiamata home directory , poiché cartella e directory significano la stessa cosa). Se sul tuo sistema Ubuntu avessi account utente impostati per più di una persona, ognuno di loro avrebbe una cartella home separata.

C'è una cartella chiamata /home. Questa non è la tua cartella home. In realtà, quella non è mai la cartella principale di nessuno. Piuttosto, /homeè la cartella che contiene le cartelle home degli utenti umani .

La tua cartella principale è /home/p_sardinha, perché il tuo nome utente è p_sardinha.

Più in generale, per un utente umano username, la cartella principale dell'utente è ./home/username

  • Su alcuni sistemi, incluso il tuo, la cartella chiamata /homecontiene una sottocartella lost+found. Questa non è la cartella principale di nessuno . Invece, questo esiste per impostazione predefinita nella cartella principale dei filesystem ext2 / ext3 / ext4; viene utilizzato per conservare i file recuperati durante la riparazione del filesystem e non è necessario che tu ne sappia nulla, al fine di utilizzare la tua cartella home.

  • Esistono alcuni account utente che non corrispondono agli utenti umani reali del tuo computer. Esistono in modo che determinati programmi possano essere eseguiti con identità, abilità e restrizioni speciali appropriate per le attività che sono progettate per eseguire. Gli utenti non umani generalmente non hanno le loro home directory /home. Ad esempio, come accennato dai tachioni , l' rootutente, che è l'utente che esegue effettivamente i comandi eseguiti con sudoe gksu/gksudo (a meno che non si usi il -uflag) ha /rootcome directory home.

Uno dei motivi per cui la distinzione tra la cartella chiamata /homee la tua vera cartella home (che è una sottocartella di ciò) è talvolta confusa, è che Nautilus (il browser dei file di Ubuntu) chiama la tua vera cartella home "Home". Ad esempio, questo è il contenuto della mia cartella home, mostrato in Nautilus:

Finestra Nautilus per cartella home

Il nome effettivo di quella cartella (i cui contenuti sono mostrati), tuttavia, è /home/ek(dato che il mio nome utente è ek). La mia cartella del desktop si chiama Desktope si trova all'interno della mia cartella home, quindi il suo percorso completo è /home/ek/Desktop.

Come posso risolvere un problema in cui un'applicazione tenta di accedere alla mia cartella desktop, ma non riesce perché assegna un nome a quella cartella nella lingua sbagliata?

Potrebbe esserci una soluzione specifica per l'applicazione, ma non hai fornito dettagli sulle circostanze in cui si verifica l'errore o su quale applicazione si sta verificando, quindi non posso fornire tale soluzione. Fortunatamente, posso fornire una soluzione generale.

Poiché a volte le cartelle vengono chiamate in modo diverso dal loro vero nome (ad esempio, la cartella principale viene talvolta chiamata Homeanche se il suo nome è p_sardinha), assicurarsi innanzitutto che il nome della cartella del desktop sia realmente Área de Trabalho. È facile verificarlo: basta visualizzare il contenuto della cartella principale (come ho fatto io, nello screenshot sopra) e assicurarsi che si chiami così. Credo che tu l'abbia già fatto.

Quindi il vero nome completo della cartella del desktop è /home/p_sardinha/Área de Trabalho. Ma almeno una delle tue applicazioni vuole accedervi all'indirizzo /home/p_sardinha/Desktop. Supponendo che non ci sia anche una cartella chiamata /home/p_sardinha/Desktop(dovresti verificare per sicurezza), dovresti essere in grado di risolvere il problema creando un collegamento simbolico chiamato Desktopnella tua cartella home, che punta a Área de Trabalho(la tua vera cartella desktop).

Per creare questo collegamento simbolico, apri una finestra Terminale ( Ctrl+ Alt+ T) ed esegui questi comandi:

cd
ln -s 'Área de Trabalho' Desktop
  • Il primo comando ( cd, con nulla dopo) assicura che la riga di comando che stai utilizzando sia "nella" cartella home (ovvero che stia utilizzando la cartella home come directory di lavoro corrente).
  • Il secondo comando (che inizia con ln) crea effettivamente il collegamento simbolico.

Questo dovrebbe risolvere il problema. Tuttavia, le tue applicazioni dovrebbero davvero essere sufficientemente internazionalizzate per non presumere che la tua cartella desktop sia sempre chiamata Desktop. Pertanto, raccomando di segnalare un bug nell'applicazione in cui si è verificato il problema, in modo che gli sviluppatori possano far funzionare l'applicazione sia per gli utenti di lingua portoghese che per gli utenti di lingua inglese.


Grazie mille per la spiegazione dettagliata! Solo per curiosità, il link della discuzione nel forum dell'app è vue-forums.uit.tufts.edu/posts/list/848.page
Sardinha,

3

Sì è normale

Il comando sudo apre il nautilo in modalità root, la home di root è root stessa


3

Ogni diverso utente ha una home directory diversa.

Sono tutti configurati nel file /etc/passwd. Devi disconnetterti e riconnetterti dopo aver modificato quel file per rendere effettiva la modifica alla cartella home. A meno che tu non sia un utente esperto, non consiglierei comunque di modificare questo file, ma l'ho menzionato nel caso in cui tu sia curioso di vederlo e sapere come funziona.

La home page dell'utente "root" è impostata direttamente su default /rootmentre le home directory degli utenti ordinari sono impostate su default /home/*username*. Di solito non c'è un buon motivo per spostare una home directory.

Quando si esegue un programma grafico con privilegi di root utilizzando gksu/ gksudo, la directory home verrà in genere indicata come /root( questo spiega perché ). Questo è normale ed è solo perché stai usando i privilegi di root (che raramente dovresti mai usare una volta che hai impostato tutto correttamente).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.