
Me gustaría iniciar un proceso con un buen valor de -20. Esto requiere que use un comando como
sudo nice -n -20 matlab
Sin embargo, esto también inicia matlab como root. ¿Hay alguna manera de tener matlab como no root?
Mi enfoque actual es
sudo nice -n -20 sudo -u myusername matlab
lo que para mí parece un truco. ¿Existe un enfoque directo para hacer esto?
Respuesta1
Lo iniciaría normalmente y luego usaría "renice"...
Sin embargo, pude hacer un truco rápido junto con "su" que funciona:
sudo nice -n -20 su -c command_to_run user_to_run_as
Si no tiene que darle una contraseña a Sudo, tal vez porque ya se la acaba de dar, puede agregar una &
para poner todo en segundo plano.
Como ya te conviertes en root con el comando sudo, su
no te pedirá una contraseña. Pude iniciar un programa X desde un emulador de terminal en X. Si desea ejecutar el programa X como otro usuario que no sea el propietario de la sesión X, probablemente necesitará decirle explícitamente a X que lo permita. (abierto para clientes X de ese usuario).
Respuesta2
Descubrí que esto se puede hacer modificando el archivo /etc/security/limits.conf
(al menos en algunas distribuciones de Linux). En mi caso simplemente agregué:
#<domain> <type> <item> <value>
my_user - nice -20`
entonces puedes ejecutar
nice -n -20 matlab
Cierre sesión y vuelva a iniciarla después de guardar los cambios en /etc/security/limits.conf
.
Esterespuestaexplica por qué.
Respuesta3
Un paso más @Jordan: Aquí está la solución elegante contra sudo nice -n -xx su <username> -c matlab
el hack.
Nota: Usando nombre de usuario=
sid
, matlab meta-data dir=/var/lib/matlab
, nice=-10
- cambie a su voluntad
- Crear directorio de metadatos de Matlab
sudo mkdir /var/lib/matlab
- Agregue el usuario especificado para iniciar matlab y el permiso correcto
sudo useradd -d /var/lib/matlab sid sudo chown sid:sid /var/lib/matlab
- Establecer contraseña de usuario
sudo passwd sid
- Añade lo siguiente a
/etc/security/limits.conf
sid - priority -10
- Configure y copie la clave ssh para automatizar el inicio de sesión (opcional)
ssh-keygen -t rsa #following key passwd misc ssh-copy-id sid@localhost #using sid's passwd
- Crear contenedor de shell de matlab (arreglarerror de falla silenciosa)
sudo -i cat <<EOF >>/usr/local/bin/wmatlab #!/bin/bash -- # A wrapper to launch matlab /usr/local/MATLAB/<version>/bin/matlab -desktop EOF chmod +x /usr/local/bin/wmatlab
- Ajustar el shell de inicio de sesión de "sid"
sudo usermod -s /usr/local/bin/wmatlab sid
- Inicie matlab usando
ssh
conXforward
ssh -X sid@localhost
Respuesta4
Como dijo @jordanm, sudo. Puede modificar sus propios procesos para darles una prioridad más baja:
nice -20 matlab
No sudo
.