Problema con el script de inicio 'rc.local'

5

Hasta OS X 10.9 también podría ejecutar Bootcamp dentro de Virtualbox (a través de un archivo .vmdk). Para hacer esto, tuve que desmontar la partición Bootcamp después de cambiar los permisos durante el proceso de inicio de OS X en el archivo rc.local. Ahora, con OS X 10.10 rc.local ya no funciona y no puedo iniciar mi máquina virtual sin ejecutar primero manualmente los comandos de terminal que están en mi script rc.local.

Aquí está mi contenido rc.local :

  

sudo chmod 777 / dev / disk0s4
  diskutil unmount / dev / disk0s4

Comprendí que rc.local ya no se admite en Yosemite y en su lugar debería usarse launchd . Fuente: Cómo: ejecutar Windows 7 (Bootcamp ) en VirtualBox .

¿Puede alguien ayudarme con un script válido y mostrarme cómo usarlo?

    
pregunta Telemakos 28.10.2014 - 09:22

4 respuestas

5

Estaba usando esos comandos para VirtualBox en rc.local, y encontré el mismo problema. No lo hago si esta es la forma correcta de hacerlo, pero funciona para mí.

Creé /Library/LaunchDaemons/local.localhost.startup.plist que contiene el siguiente código. Ejecuta el script rc.local una vez en el inicio.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>             <string>local.localhost.startup</string>
    <key>Disabled</key>          <false/>
    <key>RunAtLoad</key>         <true/>
    <key>KeepAlive</key>         <false/>
    <key>LaunchOnlyOnce</key>    <true/>
    <key>ProgramArguments</key>
        <array>
            <string>/etc/rc.local</string>
        </array>
</dict>
</plist>
    
respondido por el Alan Schmitz 03.11.2014 - 05:04
1

También asegúrese de que rc.local tenga permiso para ejecutar, a través de un     sudo chmod 755 /etc/rc.local

LaunchDaemon no informa explícitamente de un error, así que me mordió hasta que cambié los permisos.

    
respondido por el Shankar 13.11.2014 - 01:16
1

Ese error no es correcto, así que intente lo siguiente:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>local.localhost.startup</string>
    <key>Disabled</key>
    <false/>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <false/>
    <key>LaunchOnlyOnce</key>
    <true/>
    <key>Program</key>
    <string>/bin/bash</string>
    <key>ProgramArguments</key>
        <array>
            <string>/etc/rc.local</string>
        </array>
</dict>
</plist>
    
respondido por el Machacker 26.02.2016 - 19:47
1

Desde Mac OS X 10.4, los elementos de inicio como el archivo /etc/rc.local o la carpeta /Library/StartupItems están en desuso en favor de launchd daemons y agentes. source

Marque Creando demonios y agentes de lanzamiento para más detalles.

Por ejemplo, aquí está el ejemplo que lanza un daemon llamado hello , pasando world como un solo argumento e instruye a launchd para que el trabajo continúe:

<?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.example.hello</string>
    <key>ProgramArguments</key>
    <array>
        <string>hello</string>
        <string>world</string>
    </array>
</dict>
</plist>

Hay dos claves en el diccionario de nivel superior:

  • Label : identifica de forma única el trabajo,
  • ProgramArguments : un valor de una matriz de cadenas que representan los argumentos con token y el programa que se ejecutará.

Aquí está el ejemplo práctico de para aumentar los recursos del sistema .

Las ubicaciones para los demonios de inicio son /System/Library/LaunchDaemons y /Library/LaunchDaemons .

La ubicación de los agentes de inicio es /System/Library/LaunchAgents , /Library/LaunchAgents y la carpeta individual Library/LaunchAgents del usuario.

    
respondido por el kenorb 11.01.2018 - 16:39

Lea otras preguntas en las etiquetas