Cartella principale in `root` e non in` home` … Sono confuso!

Ho un problema con la mia cartella principale e questo mi dà alcuni problemi di authorization.

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

  • Accedendo come sudo casa mia è mostrato nell’immagine sottostante (guarda l’icona della cartella).
    ( Dentro c’è la cartella del desktop . )

inserisci la descrizione dell'immagine qui

  • Accedendo come user normale user mia casa è mostrata nell’immagine sottostante.
    ( All’interno c’è la cartella Área de Trabalho . )

inserisci la descrizione dell'immagine qui

È normale? Dovrei dire a Ubuntu dove si trova la mia vera home folder? Cosa devo fare?

Grazie in anticipo!

Il primo screenshot (“come sudo “) è mostrato nella vista icone, e il secondo screenshot (“come user normale”) è in visualizzazione elenco dettagliata, ma in realtà stanno mostrando la stessa struttura di cartelle. Non c’è discrepanza. ( La risposta dei tachioni spiega perché le diverse cartelle hanno l’icona della casa su di esse.) La visualizzazione dettagliata dell’elenco ti dà un po ‘più di informazioni; in particolare, la cartella chiamata /home viene espansa per rivelarne il contenuto, inclusa la sottocartella p_sardinha .

Poiché le due viste sono equivalenti, non sembra che ci sia un problema relativo alla modalità di visualizzazione della struttura delle cartelle. Pertanto possiamo suddividere la domanda in due parti:

  • Dov’è la mia cartella principale?
  • Come posso risolvere un problema in cui un’applicazione tenta di accedere alla mia cartella desktop, ma fallisce perché denomina quella cartella nella lingua sbagliata?

Dov’è la mia cartella principale?

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

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

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

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

  • Su alcuni sistemi, incluso il tuo, la cartella chiamata /home contiene una sottocartella lost+found . Questa non è la cartella home di nessuno . Invece, questo esiste di default nella cartella radice dei filesystem ext2 / ext3 / ext4; è usato per mantenere i file che vengono recuperati durante la riparazione del filesystem, e non è necessario che tu ne sappia nulla, per poter usare la tua cartella home.

  • Esistono alcuni account utente che non corrispondono agli utenti umani reali del tuo computer. Esistono in modo che alcuni programmi possano essere eseguiti con identity framework, abilità e restrizioni speciali appropriate per le attività che sono progettate per eseguire. Gli utenti non umani generalmente non hanno le loro home directory in /home . Ad esempio, come menzionato dalle tachine , l’utente root , che è l’utente che esegue effettivamente i comandi eseguiti con sudo e gksu / gksudo (a meno che non si usi il flag -u ) ha /root come directory home.

Uno dei motivi per cui la distinzione tra la cartella chiamata /home e la cartella home effettiva (che è una sottocartella di questo) è a volte confusa, è che Nautilus (il browser di file di Ubuntu) chiama la tua cartella home effettiva “Home”. Ad esempio, questo è il contenuto della mia cartella home, mostrato in Nautilus:

Finestra Nautilus per la cartella Home

Il nome effettivo di quella cartella (i cui contenuti sono mostrati), tuttavia, è /home/ek (poiché il mio nome utente è ek ). La mia cartella desktop si chiama Desktop e 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 fallisce perché denomina 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 una soluzione del genere. Fortunatamente, posso fornire una soluzione generale.

Poiché a volte le cartelle vengono chiamate qualcosa oltre al loro vero nome (ad esempio, la tua cartella home viene talvolta chiamata Home anche se il suo nome è p_sardinha ), per prima cosa assicurati che il nome della cartella del desktop sia realmente Área de Trabalho . È facile controllarlo: basta visualizzare il contenuto della cartella Inizio (come ho fatto io, nella schermata sopra) e assicurarsi che sia chiamato lì. 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 da /home/p_sardinha/Desktop . Supponendo che non ci sia anche una cartella chiamata /home/p_sardinha/Desktop (dovresti controllare per sicurezza), dovresti essere in grado di risolvere il problema creando un collegamento simbolico chiamato Desktop nella tua cartella home, che punta ad Área de Trabalho ( la tua cartella desktop reale).

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 niente dopo di esso) si assicura che la riga di comando che stai usando sia “nella” tua cartella home (cioè che stia usando la tua cartella home come la sua attuale directory di lavoro).
  • Il secondo comando (che inizia con ln ) crea effettivamente il collegamento simbolico.

Questo dovrebbe risolvere il problema. Tuttavia, le vostre applicazioni dovrebbero essere internazionalizzate a sufficienza da non assumere che la vostra cartella desktop sia sempre chiamata Desktop . Pertanto, ti consiglio di segnalare un bug nell’applicazione in cui si è verificato il problema, in modo che gli sviluppatori possano far funzionare l’applicazione anche per gli utenti di lingua portoghese come per gli utenti di lingua inglese.

Sì, è normale

comando sudo apre il nautilus in modalità root, root’s home è root stesso

Ogni utente diverso ha una directory home diversa.

Sono tutti configurati nel file /etc/passwd . È necessario disconnettersi e rientrare dopo aver modificato il file per rendere effettiva la modifica alla cartella Inizio. A meno che tu non sia un utente avanzato, non raccomanderei comunque di modificare questo file, ma ne ho parlato nel caso in cui tu sia curioso di vederlo e sapere come funziona.

La home dell’utente “root” direttamente è impostata su /root mentre le directory home degli utenti ordinari sono impostate per default su /home/*username* . Di solito non c’è una buona ragione per spostare una directory home.

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