Домашняя папка в `root`, а не в` home` & hellip; Я не совсем понимаю!

У меня проблема с папкой home, и это дает мне некоторые проблемы с разрешениями.

Я установил приложение, которое сообщает мне, что у меня нет разрешения на сохранение в /home/username/Desktop, но на самом деле мой дом находится в /home/username/Área de Trabalho (Área de Trabalho = Desktop, но на португальском языке).

  • Доступ к sudo моего дома показан на изображении ниже (посмотрите на значок папки).
    ( Внутри находится папка desktop. )

enter image description here

  • Доступ к обычному user моему дому показан на изображении ниже.
    ( Внутри находится папка Área de Trabalho. )

enter image description here

Это нормально? Должен ли я сказать Ubuntu, где находится моя настоящая папка home? Что мне нужно сделать?

Спасибо заранее!

8
задан 4 October 2012 в 09:47

3 ответа

Да, это нормально.

Команда sudo открывает наутилус в режиме root, дом root - сам root

.
0
ответ дан 4 October 2012 в 09:47

У каждого отдельного пользователя свой домашний каталог.

Они все настроены в файле /etc/passwd. Вы должны выйти из системы и вернуться после редактирования этого файла, чтобы изменения в домашней папке вступили в силу. Если вы не являетесь опытным пользователем, я бы не рекомендовал редактировать этот файл в любом случае, но я упомянул его на тот случай, если вам интересно посмотреть его и узнать, как он работает.

Домашний каталог «корневого» пользователя напрямую установлен по умолчанию на /root, тогда как домашние каталоги обычных пользователей по умолчанию установлены на /home/*username*. Обычно нет веских причин для перемещения домашнего каталога.

При запуске графической программы с привилегиями root с использованием gksu / gksudo ваш домашний каталог обычно будет отображаться как /root ( это объясняет, почему ). Это нормально, и это только потому, что вы используете привилегии суперпользователя (которые вам редко понадобятся, когда вы все настроите правильно).

0
ответ дан 4 October 2012 в 09:47

Первый снимок экрана («как sudo») показан в виде значков, а второй снимок экрана («как обычный user») - в подробном представлении списка, но на самом деле они показывают ту же структуру папок. Здесь нет расхождений. ( Ответ Тахиона объясняет, почему в разных папках есть значок дома.) Подробное представление списка дает вам немного больше информации; в частности, папка с именем /home расширяется, чтобы раскрыть ее содержимое, включая подпапку p_sardinha.

Поскольку эти два представления эквивалентны, похоже, нет проблем с тем, как вы просматриваете структуру папок. Поэтому мы можем разбить ваш вопрос на две части:

  • Где находится моя домашняя папка?
  • Как я могу решить проблему, когда приложение пытается получить доступ к папке на рабочем столе, но не удается потому что она называет эту папку не на том языке?

Где моя домашняя папка?

У каждого пользователя системы Ubuntu есть домашняя папка (которая также называется домашним каталогом , поскольку папка и каталог означают одно и то же). Если бы в вашей системе Ubuntu были настроены учетные записи для более чем одного человека, у каждой из них была бы отдельная домашняя папка.

Существует папка с именем /home. Это не ваша домашняя папка. На самом деле, это никогда не чья-либо домашняя папка. Скорее, /home - это папка, содержащая домашние папки пользователей-пользователей .

Ваша домашняя папка - /home/p_sardinha, потому что ваше имя пользователя - p_sardinha.

В более общем случае для пользователя-человека username домашняя папка пользователя - /home/username.

  • В некоторых системах, включая вашу, папка /home содержит подпапку lost+found. Это не чья-либо домашняя папка . Вместо этого он существует по умолчанию в корневой папке файловых систем ext2 / ext3 / ext4; он используется для хранения файлов, которые восстанавливаются при восстановлении файловой системы, и вам не нужно ничего знать об этом, чтобы использовать вашу домашнюю папку.

  • Существуют некоторые учетные записи пользователей, которые не соответствуют фактическим пользователям вашего компьютера. Они существуют для того, чтобы определенные программы могли работать со специальными идентификационными данными, способностями и ограничениями, соответствующими задачам, для которых они предназначены. Пользователи, не являющиеся людьми, обычно не имеют своих домашних каталогов в /home. Например, как тахионы упомянули , пользователя root, который является пользователем, фактически выполняющим команды, которые вы запускаете с помощью sudo и gksu / gksudo (если вы не используете флаг -u) имеет /root в качестве домашнего каталога.

Одна из причин, по которой различие между папкой, называемой /home, и вашей фактической домашней папкой (которая является ее подпапкой) иногда сбивает с толку, заключается в том, что Nautilus (файловый браузер Ubuntu) вызывает вашу фактическую домашнюю папку " Главная." Например, это содержимое моей домашней папки, показанной в Nautilus:

Nautilus window for home folder

Фактическое имя этой папки (содержимое которой показано), однако, /home/ek (так как мое имя пользователя - ek). Моя папка на рабочем столе называется Desktop и находится в моей домашней папке, поэтому ее полный путь равен /home/ek/Desktop.

Как я могу решить проблему, когда приложение пытается получить доступ к папке на рабочем столе, но терпит неудачу, потому что называет эту папку не на том языке?

Возможно, есть решение для конкретного приложения, но у вас нет Я не предоставил подробную информацию об обстоятельствах, при которых возникает ошибка или в каком приложении она происходит, поэтому я не могу предоставить такое решение. К счастью, я могу дать общее решение.

Поскольку папки иногда называют чем-то, кроме их реального имени (например, ваша домашняя папка иногда называется Home, даже если ее имя p_sardinha), сначала убедитесь, что имя папки вашего рабочего стола действительно Área de Trabalho. Это легко проверить - просто просмотрите содержимое вашей домашней папки (как я сделал, на скриншоте выше), и убедитесь, что это называется там. Я полагаю, что вы уже сделали это.

Таким образом, настоящее полное имя вашей папки на рабочем столе - /home/p_sardinha/Área de Trabalho. Но по крайней мере одно из ваших приложений хочет получить к нему доступ в /home/p_sardinha/Desktop. Предполагая, что нет также папки с именем /home/p_sardinha/Desktop (вы должны убедиться, что вы уверены), вы сможете решить эту проблему, создав символическую ссылку с именем Desktop в вашей домашней папке, которая указывает на Área de Trabalho (ваш актуальная папка рабочего стола).

Для создания этой символической ссылки откройте окно терминала ( Ctrl + Alt + T ) и выполните следующие команды:

cd
ln -s 'Área de Trabalho' Desktop
  • Первая команда (cd, после которой ничего нет) проверяет, что используемая вами командная строка находится «в» вашей домашней папке (то есть, она использует вашу домашнюю папку как его нынешний рабочий каталог).
  • Вторая команда (которая начинается с ln ) фактически создает символическую ссылку.

Это должно решить проблему. Однако ваши приложения действительно должны быть достаточно интернационализированы, чтобы не предполагать, что папка рабочего стола всегда называется Desktop. Поэтому я рекомендую сообщать об ошибке в приложении, в котором возникла проблема, чтобы разработчики могли заставить приложение работать также и для пользователей, говорящих на португальском языке, так же, как и для пользователей, говорящих на английском языке.

0
ответ дан 4 October 2012 в 09:47

Другие вопросы по тегам:

Похожие вопросы: