Корневые файлы отображаются в доме
Некоторые из моих корневых файлов, такие как.cache, .config, .ipython, .xsession-errors, .bashrc, .bash_history и т. Д., Отображаются в моем домашнем каталоге. Файл bash_history постоянно обновляется, когда я что-то печатаю в своем терминале. Также, когда я пытался удалить эти файлы, мой Ubuntu падает, и мне приходится перезагружать мой ноутбук, после чего файлы снова появляются в моем домашнем каталоге. Когда я пытаюсь переместить их в корень, это показывает, что файлы уже существуют в корне и не могут быть перемещены. Я очень озадачен тем, что делать. Это не вызывает каких-либо ошибок, но я думаю, что это не должно происходить.
3 ответа
Эти файлы не являются корневыми. Это обычные файлы конфигурации или состояния для вашей учетной записи. Часто, если программа не находит свой файл конфигурации при запуске, она генерирует файл с уникальным именем. Традиционно это файл в домашнем каталоге, начинающийся с .
и как-то включая название программы. В настоящее время все больше и больше программ помещают свою конфигурацию в .config
подкаталог.
Вероятно, вас смущает тот факт, что root является обычным пользователем в этом отношении. Таким образом, он имеет свой собственный набор файлов конфигурации в /root/
, которые выглядят так же, как те, что в вашем домашнем каталоге.
Обычный .
перед этими именами файлов делает его скрытым, поэтому он не появляется в обычных списках каталогов.
Вы не должны удалять их при нормальной работе. Вместо этого, если они вас смущают, попробуйте прочитать справочные страницы соответствующих программ и документацию (например, справочную страницу bash) для получения дополнительной информации о том, что делают эти файлы и как их изменить полезным способом.
Вы уверены, что эти файлы принадлежат пользователю root? Сделать
cd ~
ls -la
Проверять. Эти файлы, которые вы упомянули, будут сгенерированы при запуске пользовательских приложений для сохранения метаданных и настроек, сделанных пользователем (например, вами). Итак, я предполагаю, что вы обнаружите, что эти файлы (.cache, .config, . . .) принадлежат вам, пользователю. Они должны быть там, и все хорошо.
Это каталоги / файлы конфигурации для вашей учетной записи. Они должны принадлежать вам (ваш идентификатор пользователя). Проверьте на первом уровне с
cd
ls -la
и глубже в деревьях каталогов с
find ~ -ls | grep " root "
или ограничить поиск скрытыми каталогами
find ~/.[^.]* -ls | grep " root "
Если некоторые из этих файлов принадлежат root
Вы можете получить проблемы. Это может сработать, чтобы изменить владельца обратно на ваш идентификатор пользователя с помощью chown
команда. Может быть, лучше удалить файл (ы) конфигурации и позволить программе создать новый файл конфигурации для вас.
Если вы запускаете программу с графическим интерфейсом пользователя, с графическим интерфейсом пользователя с повышенными правами доступа, с sudo
Ваша собственная конфигурация для этой программы может быть перезаписана файлом, принадлежащим root
, и программа может (вероятно) потерпит неудачу, когда вы попытаетесь запустить ее с обычными разрешениями (как ваш идентификатор пользователя).
Для запуска с повышенными правами вы можете использовать
sudo -H GUI-program
например редактировать системный файл, который принадлежит root
sudo -H gedit filename
что заставляет систему сохранить конфигурацию в правильном месте для пользователя root
,
Рекомендуется выполнять задачи с повышенными правами с помощью инструментов текстового режима (без графического интерфейса пользователя), например, с помощью редактора. nano
sudo nano filename
Если вы используете Wayland (вместо Xorg), все будет сложнее. Смотрите эту ссылку,
Почему gksu/gksudo или запуск графического приложения с sudo не работают с Wayland?