Разница между ~ / папкой и / home / username / folder при создании пути в / etc / environment

Я разместил это в вопросе @Chris в комментариях:

Предположим, вы хотите создать пусковую установку, которая откроет «файловый менеджер (nautilus)» как root. Затем вы можете сделать это:

Открыть терминал. Тип:

sudo -H gedit /usr/share/applications/nautilus_root.desktop

Нажмите Enter. Когда вас спросят, введите свой пароль для входа и нажмите enter. Это откроет gedit (текстовый редактор). Теперь вставьте следующее:

[DesktopEntry]
Encoding=UTF-8
Name=Nautilus(Root)
Comment=FileManager
Exec=gksu nautilus
Icon=file-manager
Categories=System;
Type=Application
Terminal=0

Теперь просто сохраните его и выйдите. Вы сделали. Теперь, если вы начнете поиск по тире, вы найдете новую пусковую установку «Nautilus (Root)». Нажав на это, вы спросите пароль, а после аутентификации nautilus будет открыт с правами root.

Примечание: будьте осторожны при запуске «Nautilus (Root)». В этом режиме вы можете удалить почти все из / и разбить систему.

1
задан 30 October 2013 в 10:04

2 ответа

Когда вы входите в систему как su, ~ - /root, а не /home/<yourusername>. В противном случае оба значения одинаковы.

NB: Тильда расширяется оболочкой (а не ls) до фактического выполнения команды. Например, если вы запустите sudo ls ~, команда, которая будет выполнена, будет ls /home/<yourusername>, а не ls /root. Чтобы оболочка не расширила тильду как пользователя без полномочий root, вы могли:

сначала войти в систему как пользователь root, затем выполнить команду в корневой оболочке или передать команду в качестве аргумента в оболочку и сделать shell запускается как root:
sudo bash -c "ls ~"
1
ответ дан 25 May 2018 в 10:02
  • 1
    Я не думаю, что это правда. Например, если я делаю sudo ls ~/Desktop, я вижу рабочий стол my , а не root. – Marty Fried 18 June 2012 в 09:41
  • 2
    мне понравилось, что @Thanh сказал, я вхожу в систему как su и делаю ls ~/Desktop, и ничего не указано в терминале. Но это не будет работать для sudo, как сказал @Marty, потому что он показывает мой файл на рабочем столе. Спасибо вам обоим. Теперь я вижу разницу. – r0xx4nne 18 June 2012 в 09:58

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

Связанная проблема заключается в том, что / etc не является вашим каталогом и не является местом для добавления ваших личных путей. Если был другой пользователь, почему у него есть путь к вашему домашнему каталогу?

Правильное место для изменения пути зависит от того, кому этот путь нужен:

Только один пользователь (вы ) - $HOME/.profile, где $ HOME является / home / username

Все пользователи, кроме root - /etc/profile

root - /root/.profile

[d6 ] Итак, чтобы суммировать, ваш путь должен быть установлен в /home/r0xx4nne/.profile.

0
ответ дан 25 May 2018 в 10:02
  • 1
    ~/.bash_profile не читается во время графического входа. – geirha 18 June 2012 в 10:05
  • 2
    @geirha: Я предполагаю, что я обычно использую bash для проверки или установки пути, поэтому однажды я потратил время на то, чтобы правильно работать для всех типов оболочек. Но я использовал X из оболочки, поэтому, я полагаю, это было другое. Итак, что относительно .profile? Я действительно вижу, что именно здесь я задаю свой путь. Если это лучшее место, я могу отредактировать свой ответ. Но / etc, кажется, не является подходящим местом в этом случае, не так ли? – Marty Fried 18 June 2012 в 10:18
  • 3
    Да, при входе в систему запускается сценарий sh.Это специально источник ~/.profile перед запуском сеанса gnome (или любой другой сеанс, который вы выбрали), поэтому будут вставлены любые переменные среды, установленные в ~/.profile. – geirha 18 June 2012 в 10:24
  • 4
    @geirha - Спасибо за хедз-ап; Я отредактировал свой ответ и обновил свои заметки о том, где изменить путь. Каким-то образом я исследовал его пути назад, решил свою проблему и сделал заметки, но я думаю, что либо что-то изменилось, либо моя ситуация была просто не всеобъемлющей. – Marty Fried 18 June 2012 в 20:13

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

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