Домашняя папка в `root`, а не в` home`… Я в замешательстве!

8

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

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

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

введите описание изображения здесь

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

введите описание изображения здесь

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

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

Sardinha
источник

Ответы:

11

Первый снимок экрана («как 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:

Наутилус окно для домашней папки

Фактическое имя этой папки (чье содержимое показано), однако, /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. Поэтому я рекомендую сообщать об ошибке в приложении, в которой возникла проблема, чтобы разработчики могли заставить приложение работать также и для пользователей, говорящих на португальском языке, и для пользователей, говорящих на английском языке.

Элия ​​Каган
источник
Большое спасибо за подробное объяснение! Просто для любопытства, ссылка на форум приложения - vue-forums.uit.tufts.edu/posts/list/848.page
Сардинья,
3

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

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

Тахионы
источник
3

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

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

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

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

thomasrutter
источник