Вы можете восстановить специфические параметры gnome с помощью следующих команд в терминале:
rm -rf .gnome .gnome2 .gconf .gconfd .metacity
Подробнее см. Как сбросить настройки Ubuntu / Gnome до значений по умолчанию без повторной установки | Linux FUD
Кроме того, вы можете проверить, нет ли разбитых зависимостей, используя:
sudo apt-get check
И затем вы можете устранить оставшиеся проблемы один за другим.
Когда вы export переменная, она нигде не добавляется ни в какой файл.
Эффект export, а не просто назначение переменной, - это передача переменной в среды всех дочерних процессов оболочки. Он ничего не делает; он не изменяет файлы конфигурации оболочки. После выхода оболочки и всех ее дочерних процессов экспортируемая переменная исчезнет! Когда вы открываете новую оболочку, которая не является потомком первого shell, эта оболочка не будет помнить вашу переменную.
На самом деле нет необходимости в export PATH, поскольку PATH уже является переменной окружения , Он уже экспортируется; он будет автоматически передаваться в среду дочерних процессов, а при его изменении дочерние процессы также наследуют изменение.
Вы можете увидеть это, используя printenv, команду для печати переменных среды :
$ foo=bar; echo $foo # set a variable
bar # the shell knows it
$ printenv foo # but it's not in the environment...
$ export foo; printenv foo # export the variable and check again
bar # there it is!
$ foo=new; printenv foo # change the variable
new # the change is inherited
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ PATH=/usr/bin; printenv PATH # printenv is in /usr/bin so keep that!
/usr/bin # the change was inherited
(Теперь мне нужно выйти из этой оболочки, чтобы вернуть мой PATH или source /etc/environment, потому что любая новая оболочка, которую я запускаю из этой оболочки, наследует эту переменную PATH, которую я испортил. .)
он нигде не добавлен нигде
PATH - это единственная переменная, насколько мне известно, которая по умолчанию установлена в [ f9] на Ubuntu. Я рекомендую не редактировать /etc/environment, чтобы установить PATH, или если вы это сделаете, будьте осторожны, чтобы сделать резервную копию исходного файла, потому что у вас не будет другого способа восстановить исходный PATH (если вы не записали его где-нибудь или не удивительная память). Также имейте в виду, что над содержимым не будет никаких расширений, поэтому вы должны использовать полные пути, а не $PATH или $GOPATH или ~. Если вы напишете такие вещи, они будут буквально в PATH, и если ваш PATH будет буквально $PATH:~/workspace/me/go, вы не сможете запускать какие-либо команды (кроме встроенных в оболочку) без использования их полных путей. [!d8 ]
Я также не рекомендую устанавливать PATH в .bashrc, потому что каждая интерактивная оболочка Bash читает .bashrc, и довольно часто запускать новую оболочку из оболочки и т. д. Если вы ставите что-то вроде
PATH="$PATH:$HOME/foo"
в вашем .bashrc, вы обнаружите, что /home/user/foo добавляется к вашему PATH несколько раз; каждый раз, когда оболочка запускает оболочку, PATH снова расширяется. В конечном итоге это может замедлить работу, особенно если вы добавили много путей. Кроме того, только интерактивные оболочки Bash читают ~/.bashrc, поэтому, если вы используете оболочку, отличную от Bash, или запускаете скрипт, не являясь дочерним процессом интерактивной оболочки Bash, она не будет иметь эту переменную.
Вместо этого я рекомендую добавить строку к ~/.profile, чтобы расширить вашу PATH. Этот файл читается только командами входа в систему; обычно он читается только один раз, когда вы входите в свой сеанс, поэтому PATH будет добавляться только один раз, и все оболочки будут наследовать переменные окружения, установленные там, а не только интерактивные оболочки Bash. Обычно к этому файлу добавляются переменные среды. Таким образом, вы можете открыть ~/.profile в текстовом редакторе и добавить строки, которые говорят что-то вроде:
GOPATH="$HOME/workspace/me/go"
PATH="$PATH:$GOPATH/bin"
Это хорошая идея процитировать путь, как показано, в случае, если какая-либо из каталогов включает специальные (это также хорошая идея создать каталоги, у которых нет особых символов в их именах, но все происходит), и если вы его цитируете, вы не можете использовать ~ как ярлык для /home/user, потому что двойные кавычки (") подавляет расширение тильды, но вместо этого вы можете использовать $HOME, потому что расширение параметра все еще выполняется, а $HOME станет /home/user.
После редактирования сохраните файл и выйдите из него и запустите source ~/.profile, и ваш PATH всегда будет включать /home/user/workspace/me/go.
Когда вы export переменная, она нигде не добавляется ни в какой файл.
Эффект export, а не просто назначение переменной, - это передача переменной в среды всех дочерних процессов оболочки. Он ничего не делает; он не изменяет файлы конфигурации оболочки. После выхода оболочки и всех ее дочерних процессов экспортируемая переменная исчезнет! Когда вы открываете новую оболочку, которая не является потомком первого shell, эта оболочка не будет помнить вашу переменную.
На самом деле нет необходимости в export PATH, поскольку PATH уже является переменной окружения , Он уже экспортируется; он будет автоматически передаваться в среду дочерних процессов, а при его изменении дочерние процессы также наследуют изменение.
Вы можете увидеть это, используя printenv, команду для печати переменных среды :
$ foo=bar; echo $foo # set a variable
bar # the shell knows it
$ printenv foo # but it's not in the environment...
$ export foo; printenv foo # export the variable and check again
bar # there it is!
$ foo=new; printenv foo # change the variable
new # the change is inherited
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ PATH=/usr/bin; printenv PATH # printenv is in /usr/bin so keep that!
/usr/bin # the change was inherited
(Теперь мне нужно выйти из этой оболочки, чтобы вернуть мой PATH или source /etc/environment, потому что любая новая оболочка, которую я запускаю из этой оболочки, наследует эту переменную PATH, которую я испортил. .)
он нигде не добавлен нигде
PATH - это единственная переменная, насколько мне известно, которая по умолчанию установлена в /etc/environment на Ubuntu. Я рекомендую не редактировать /etc/environment, чтобы установить PATH, или если вы это сделаете, будьте осторожны, чтобы сделать резервную копию исходного файла, потому что у вас не будет другого способа восстановить исходный PATH (если вы не записали его где-нибудь или не удивительная память). Также имейте в виду, что над содержимым не будет никаких расширений, поэтому вы должны использовать полные пути, а не $PATH или $GOPATH или ~. Если вы напишете такие вещи, они будут буквально в PATH, и если ваш PATH будет буквально $PATH:~/workspace/me/go, вы не сможете запускать какие-либо команды (кроме встроенных в оболочку) без использования их полных путей.
Я также не рекомендую устанавливать PATH в .bashrc, потому что каждая интерактивная оболочка Bash читает .bashrc, и довольно часто запускать новую оболочку из оболочки и т. д. Если вы ставите что-то вроде
PATH="$PATH:$HOME/foo"
в вашем .bashrc, вы обнаружите, что /home/user/foo добавляется к вашему PATH несколько раз; каждый раз, когда оболочка запускает оболочку, PATH снова расширяется. В конечном итоге это может замедлить работу, особенно если вы добавили много путей. Кроме того, только интерактивные оболочки Bash читают ~/.bashrc, поэтому, если вы используете оболочку, отличную от Bash, или запускаете скрипт, не являясь дочерним процессом интерактивной оболочки Bash, она не будет иметь эту переменную.
Вместо этого я рекомендую добавить строку к ~/.profile, чтобы расширить вашу PATH. Этот файл читается только командами входа в систему; обычно он читается только один раз, когда вы входите в свой сеанс, поэтому PATH будет добавляться только один раз, и все оболочки будут наследовать переменные окружения, установленные там, а не только интерактивные оболочки Bash. Обычно к этому файлу добавляются переменные среды. Таким образом, вы можете открыть ~/.profile в текстовом редакторе и добавить строки, которые говорят что-то вроде:
GOPATH="$HOME/workspace/me/go"
PATH="$PATH:$GOPATH/bin"
Это хорошая идея процитировать путь, как показано, в случае, если какая-либо из каталогов включает специальные (это также хорошая идея создать каталоги, у которых нет особых символов в их именах, но все происходит), и если вы его цитируете, вы не можете использовать ~ как ярлык для /home/user, потому что двойные кавычки (") подавляет расширение тильды, но вместо этого вы можете использовать $HOME, потому что расширение параметра все еще выполняется, а $HOME станет /home/user.
После редактирования сохраните файл и выйдите из него и запустите source ~/.profile, и ваш PATH всегда будет включать /home/user/workspace/me/go.
Когда вы export переменная, она нигде не добавляется ни в какой файл.
Эффект export, а не просто назначение переменной, - это передача переменной в среды всех дочерних процессов оболочки. Он ничего не делает; он не изменяет файлы конфигурации оболочки. После выхода оболочки и всех ее дочерних процессов экспортируемая переменная исчезнет! Когда вы открываете новую оболочку, которая не является потомком первого shell, эта оболочка не будет помнить вашу переменную.
На самом деле нет необходимости в export PATH, поскольку PATH уже является переменной окружения , Он уже экспортируется; он будет автоматически передаваться в среду дочерних процессов, а при его изменении дочерние процессы также наследуют изменение.
Вы можете увидеть это, используя printenv, команду для печати переменных среды :
$ foo=bar; echo $foo # set a variable
bar # the shell knows it
$ printenv foo # but it's not in the environment...
$ export foo; printenv foo # export the variable and check again
bar # there it is!
$ foo=new; printenv foo # change the variable
new # the change is inherited
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ PATH=/usr/bin; printenv PATH # printenv is in /usr/bin so keep that!
/usr/bin # the change was inherited
(Теперь мне нужно выйти из этой оболочки, чтобы вернуть мой PATH или source /etc/environment, потому что любая новая оболочка, которую я запускаю из этой оболочки, наследует эту переменную PATH, которую я испортил. .)
он нигде не добавлен нигде
PATH - это единственная переменная, насколько мне известно, которая по умолчанию установлена в /etc/environment на Ubuntu. Я рекомендую не редактировать /etc/environment, чтобы установить PATH, или если вы это сделаете, будьте осторожны, чтобы сделать резервную копию исходного файла, потому что у вас не будет другого способа восстановить исходный PATH (если вы не записали его где-нибудь или не удивительная память). Также имейте в виду, что над содержимым не будет никаких расширений, поэтому вы должны использовать полные пути, а не $PATH или $GOPATH или ~. Если вы напишете такие вещи, они будут буквально в PATH, и если ваш PATH будет буквально $PATH:~/workspace/me/go, вы не сможете запускать какие-либо команды (кроме встроенных в оболочку) без использования их полных путей.
Я также не рекомендую устанавливать PATH в .bashrc, потому что каждая интерактивная оболочка Bash читает .bashrc, и довольно часто запускать новую оболочку из оболочки и т. д. Если вы ставите что-то вроде
PATH="$PATH:$HOME/foo"
в вашем .bashrc, вы обнаружите, что /home/user/foo добавляется к вашему PATH несколько раз; каждый раз, когда оболочка запускает оболочку, PATH снова расширяется. В конечном итоге это может замедлить работу, особенно если вы добавили много путей. Кроме того, только интерактивные оболочки Bash читают ~/.bashrc, поэтому, если вы используете оболочку, отличную от Bash, или запускаете скрипт, не являясь дочерним процессом интерактивной оболочки Bash, она не будет иметь эту переменную.
Вместо этого я рекомендую добавить строку к ~/.profile, чтобы расширить вашу PATH. Этот файл читается только командами входа в систему; обычно он читается только один раз, когда вы входите в свой сеанс, поэтому PATH будет добавляться только один раз, и все оболочки будут наследовать переменные окружения, установленные там, а не только интерактивные оболочки Bash. Обычно к этому файлу добавляются переменные среды. Таким образом, вы можете открыть ~/.profile в текстовом редакторе и добавить строки, которые говорят что-то вроде:
GOPATH="$HOME/workspace/me/go"
PATH="$PATH:$GOPATH/bin"
Это хорошая идея процитировать путь, как показано, в случае, если какая-либо из каталогов включает специальные (это также хорошая идея создать каталоги, у которых нет особых символов в их именах, но все происходит), и если вы его цитируете, вы не можете использовать ~ как ярлык для /home/user, потому что двойные кавычки (") подавляет расширение тильды, но вместо этого вы можете использовать $HOME, потому что расширение параметра все еще выполняется, а $HOME станет /home/user.
После редактирования сохраните файл и выйдите из него и запустите source ~/.profile, и ваш PATH всегда будет включать /home/user/workspace/me/go.
Shell custiomizations обычно редактируются в $HOME/.bashrc, который является sourced каждой запущенной вами оболочкой. Прочитайте man bash.
BTW. У вас должно быть определение GOPATH
GOPATH=~/workspace/me/go
Прежде чем использовать GOPATH
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Кроме того, где определение GOROOT?
Shell custiomizations обычно редактируются в $HOME/.bashrc, который является sourced каждой запущенной вами оболочкой. Прочитайте man bash.
BTW. У вас должно быть определение GOPATH
GOPATH=~/workspace/me/go
Прежде чем использовать GOPATH
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Кроме того, где определение GOROOT?
Shell custiomizations обычно редактируются в $HOME/.bashrc, который является sourced каждой запущенной вами оболочкой. Прочитайте man bash.
BTW. У вас должно быть определение GOPATH
GOPATH=~/workspace/me/go
Прежде чем использовать GOPATH
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Кроме того, где определение GOROOT?