No se pueden ejecutar comandos de terminal: "el comando 'sudo' está disponible en '/ usr / bin / sudo'"

13

He estado usando Ubuntu 12.04 durante bastante tiempo y nunca he tenido un problema inesperado como este. Estoy tratando de instalar Python 3.2 en mi sistema Ubuntu y cada vez que ejecuto el código para compilar la fuente de Python, aparece este error:

'Command 'sudo' is available in '/usr/bin/sudo'
The command could not be located because '/usr/bin' is not included in the PATH environment variable.
sudo: command not found'

También intenté ejecutar el gksudocomando para ver lo que muestra mi entorno, pero casi recibo el mismo error.

usuario188283
fuente
Apuesto a que probablemente obtendrá el mismo error cuando intente ejecutar sus aplicaciones a través de la línea de comandos. ¿Cuál es el resultado de cat /etc/environment?
Alaa Ali el
¿Podría decirnos qué programa está intentando ejecutar? Algunos programas cambian la variable PATH, pero sin el nombre no podríamos estar seguros.
Braiam

Respuestas:

24

Como dice el error, debe agregar el /usr/bindirectorio a su variable de entorno PATH. Para hacer esto, ejecute el siguiente comando en la terminal:

export PATH=$PATH:/usr/bin

Después de que pueda usar sudo, puede editar el /etc/environmentarchivo para que el cambio sea permanente, por lo tanto, ejecute en la terminal:

sudo nano /etc/environment

para editar el archivo Asegúrese de que el camino sea algo como esto:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Guarde y cierre el archivo con Ctrl+ Xy presione Ycuando se le solicite.

Consulte también: ¿Cómo agregar un directorio a la RUTA?

Radu Rădeanu
fuente
Sin embargo, esto no es permanente, ¿verdad? Si se reinicia, desaparecerá nuevamente.
Alaa Ali el
1
Si. Los ajustes permanentes para el usuario son, probablemente, en ~/.profile, ~/.bashrc, ~/.pam_environmento ~/.xsessionrc. Los ajustes para todos los usuarios son, probablemente, en /etc/profile, /etc/profile.d/*, /etc/environment, /etc/bash/bashrc, /etc/lightdm/xsession. Probablemente uno de sus archivos de usuario anula la configuración predeterminada del sistema. Si tiene habilitado otro usuario o la cuenta de invitado, intente con el otro usuario y vea si el problema también existe para ese otro usuario. De lo contrario, revise sus propios archivos de script de inicio de usuarios.
soulsource
1
Funcionó perfectamente. ¡Muchas gracias! Pero, ¿podría agregar más información sobre cómo hacer que este cambio sea permanente? Gracias por adelantado.
OscaRoCa
Recibí este error: MY_USER_NAME no está en el archivo sudoers. Este incidente será reportado. , No soy el administrador ... lo que tengo que hacer ...
Ghanem
6

Tengo el problema y lo solucioné editando mi archivo .bashrc

  1. Abra su archivo .bashrc usando nano

    $ sudo nano ~/.bashrc
    
  2. Agregue la siguiente línea al archivo bashrc

    export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:   /usr/local/games"
    
  3. Presione Ctrl + X para guardar el archivo

  4. Le pedirá que cambie el archivo, presione yy Enter

Ya terminaste

usuario3721406
fuente
1
No manipule archivos en su directorio de inicio ( ~) usando sudo. Puede crear más problemas de los que puede resolver.
Melebius
1

Cuando desee agregar un nuevo valor a la PATHvariable del sistema, lo más probable es que agregue una nueva línea ~/.bashrco ~/.bash_profilearchivos.

Por ejemplo, si desea agregar /opt/netbeans/bina PATH, debe agregar esta línea al final del ~/.bashrcarchivo:

export PATH=$PATH:/opt/netbeans/bin

Vamos a romper esta línea.

  • export PATH- Aquí nos referimos a la PATHvariable
  • =- Queremos asignarle un nuevo valor utilizando el =operador (El resto de la cadena es el valor que se almacenará en el PATH)
  • $PATH- Asignamos la variable PATHal valor que estaba en la variable antes del comando actual
  • : - Agregamos un separador para el nuevo valor
  • /opt/netbeans/bin - Y agregue un nuevo valor a la PATH

Debe ver todas sus referencias a la PATHvariable en los archivos ~/.bashrco ~/.bash_profiley asegurarse de expandir -

export PATH=$PATH:/opt/netbeans/bin

y no sobrescribir así

export PATH=/opt/netbeans/bin

la PATHvariable

Debe asegurarse, en cada referencia al PATHuso que haga $PATH:y su valor adicional después


Si no funciona, puede hacer algo como esto:

  • Asegúrese de que haya algo así como la siguiente variable en el /etc/environmentarchivo y nunca se redefinió en este archivo:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
  • Agregue rutas faltantes de la PATHvariable anterior a su PATHvariable ubicada en el/etc/environment

Antes de probar después de cada cambio en los archivos, no recuerde actualizar sus configuraciones.

Por ejemplo para ~/.bashrcarchivo:

source `~/.bashrc`
fedotsoldier
fuente