Sé que una vez sé cómo hacer esto, pero ... ¿cómo se ejecuta un script (bash está bien) al iniciar sesión en Unix?¿Cómo ejecuta un script al iniciar sesión en * nix?
Respuesta
Cuando Bash inicia, ejecuta los comandos en una variedad de diferentes scripts .
Cuando Bash se ejecuta un intérprete interactivo de ingreso , primero lee y ejecuta órdenes del archivo /etc/profile, si existe ese archivo. Después de leer ese archivo, busca ~/.bash_profile, ~/.bash_login y ~/.profile, en ese orden, y lee y ejecuta órdenes desde el primer que existe y es legible.
Cuando sale un shell de inicio de sesión, Bash lee y ejecuta comandos desde el archivo ~/.bash_logout, si existe.
Cuando un shell interactivo que no es se inicia un shell de entrada, Bash lee y ejecuta órdenes desde ~/.bashrc, si existe ese archivo. Esto puede ser inhibido al usar la opción --norc. La opción de archivo --rc obligará a Bash a leer y ejecutar comandos desde el archivo en lugar de ~/.bashrc.
La secuencia de comandos ~/.bash_profile
se ejecuta al iniciar sesión.
colocarlo en su bash profile:
~/.bash_profile
Si usted está en OSX, entonces es ~/.profile
En OS X con bash, ~/.bash_profile funciona bien. –
Sí, pero ~/.profile ya existe. –
Al utilizar Bash, la primera de ~/.bash_profile
, ~/.bash_login
y ~/.profile
se ejecutará para un intérprete interactivo de ingreso. Creo que ~/.profile
generalmente es ejecutado por shells de Unix además de Bash. Bash ejecutará ~/.bashrc
para un shell interactivo que no sea de inicio de sesión.
Me suelen poner todo lo que quiera siempre situado en .bashrc
y luego ejecutarlo desde .bash_profile
, donde también estableció algunas cosas que deben ejecutarse solamente cuando estoy acceder al sistema, tales como la creación de ssh-agent
o correr screen
.
Si desea ejecutar una guión y solamente una secuencia de comandos, se puede hacer que el shell por defecto los usuarios.
echo "/usr/bin/uptime" >> /etc/shells
vim /etc/passwd
* username:x:uid:grp:message:homedir:/usr/bin/uptime
puede tener efectos interesantes :) (aunque no su seguro, así que no confiar en ella demasiado. Nada que ver con el establecimiento de su shell por defecto de ser un script que borra la unidad. ... aunque, .. Puedo imaginar un escenario en el que podría ser increíblemente útil)
Agregue una entrada en /etc/profile
que ejecuta el script. Esto se ejecutará durante cada inicio de sesión. Si solo está haciendo esto para su propia cuenta, use uno de sus scripts de inicio de sesión (por ejemplo, .bash_profile
) para ejecutarlo.
Al iniciar sesión, la mayoría de las shells ejecutan un script de inicio de sesión, que puede utilizar para ejecutar su script personalizado. La escritura de la conexión el shell ejecuta depende, por supuesto, de la shell:
- bash: .bash_profile, .bash_login, .profile (para atrás compabitibility)
- sh: .profile
- tcsh y csh: .login
- zsh: .zshrc
usted probablemente puede averiguar lo que Shell está utilizando haciendo
echo $SHELL
desde el aviso.
echo $ 0 debería revelar qué shell se está utilizando, aunque de vez en cuando he visto 'sh' informado, cuando realmente es 'ksh', en HP-UX o Solaris, creo. –
Busque en la página del manual bash man de su sistema local^^ INVOCATION para obtener información sobre qué archivo se leerá al inicio.
man bash
/^INVOCATION
También en la sección ARCHIVOS,
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
Añadir la secuencia de comandos en el archivo adecuado. Asegúrese de que el script esté en $ PATH, o use la ruta absoluta al archivo de script.
Launchd
es un elemento launchd
la forma preferida en OS X.
Si desea que se ejecute en el inicio de sesión ponerlo en ~/Library/LaunchAgents
inicio
launchctl load /Library/LaunchDaemons/com.bob.plist
Detener elemento
launchctl unload /Library/LaunchDaemons/com.bob.plist
Ejemplo com.bob.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.bob</string>
<key>RunAtLoad</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>-jar</string>
<string>/Users/user/program.jar</string>
</array>
</dict>
</plist>
Estaba frustrado con este problema por días. Nada funcionó en ubuntu. Si puse la llamada en/etc/profile, todo se bloqueó al intentar iniciar sesión. No pude usar "Aplicaciones de inicio" porque eso no era lo que quería. Eso solo establece la secuencia de comandos para ese usuario actual.
fin encontré este pequeño artículo: http://standards.freedesktop.org/autostart-spec/autostart-spec-0.5.html
la solución sería:
averiguar la ruta $ XDG_CONFIG_DIRS:
echo $ XDG_CONFIG_DIRS
poner su guión en ese directorio
- 1. Script Bash: uso del comando "script" de un script bash para iniciar sesión
- 2. Equivalente al comando * Nix 'which' en Powershell?
- 3. Error al iniciar sesión en C#
- 4. ¿Para iniciar sesión o no iniciar sesión?
- 5. ¿Iniciar sesión en Sinatra?
- 6. C#: ¿Cómo iniciar sesión en una cuota al utilizar DirectoryInfo
- 7. ¿Cómo iniciar sesión en joomla a través de un script externo?
- 8. Iniciar sesión mediante un script en un servidor remoto y ejecutar un conjunto de comandos
- 9. cómo iniciar sesión en Yahoo programáticamente desde un servidor ubuntu
- 10. ¿Cómo se ejecuta exactamente un script PHP?
- 11. "BCrypt :: Errors :: InvalidHash" al intentar iniciar sesión
- 12. Iniciar sesión en un archivo en Android
- 13. Delphi: error de aplicación al iniciar sesión en el campo
- 14. Django iniciar sesión/cerrar sesión
- 15. ¿Cómo encuentro userid por inicio de sesión (Python bajo * NIX)
- 16. Cómo iniciar sesión en Gerrit como administrador
- 17. ¿Cómo impido que Magento combine la cesta al iniciar sesión?
- 18. Iniciar sesión con Linkedin
- 19. ¿Puede un script PHP iniciar otro script PHP y salir?
- 20. ¿Cómo se abre la aplicación al iniciar sesión?
- 21. Cómo configurar cookies al iniciar/cerrar sesión con Devise
- 22. C# - Cerrar sesión y iniciar sesión programáticamente en un usuario
- 23. Cron Job Log - ¿Cómo iniciar sesión?
- 24. ¿Cómo iniciar sesión en un foro de vbulletin con C#?
- 25. ejecuta php script automáticamente
- 26. cómo iniciar sesión en la máquina ec2?
- 27. Cómo iniciar sesión como usuario en p4
- 28. Cómo iniciar sesión excepciones en JavaScript
- 29. Iniciar sesión en Amazon S3
- 30. ¿Cómo iniciar sesión en wordpress mediante programación?
¿Qué nombre de usuario? UI de inicio de sesión? como gnome, GTK, Unity? Tal vez un nuevo inicio de shell de la tty? ¿Cual es la diferencia entre ellos? –