En primer lugar, estoy usando Kubuntu 12.04.
Acabo de descargar y descomprimir una instalación independiente de algún software (Phpstorm IDE de Intellij, pero no creo que importe). Copié el directorio descomprimido a mi /opt
directorio usando sudo.
Puedo iniciar el script de shell principal desde la línea de comandos sin usarlo sudo
y sin problemas.
Me gustaría ejecutar la aplicación desde mi Application Launcher
modo, ejecuté la Edit Applications...
aplicación desde el ícono del Iniciador, agregué la ruta al script de shell principal en una nueva entrada ( /opt/PhpStorm-111.344/bin/phpstorm.sh
) y la guardé. Cada vez que hago clic en la entrada recién agregada, no sucede nada, la aplicación no se inicia. He vistoesta pregunta sobre registrar aplicaciones en kde, y no creo que se aplique a esta situación ya que eso es lo que Edit Applications...
se supone que debe hacer el diálogo (creo).
Entonces, ¿qué me estoy perdiendo? ¿Necesito especificar otra forma de ejecutar el comando en la entrada del cuadro de diálogo? ¿Es esto un .desktop
problema de archivos? ¿Algo más?
Ejecuté el comando /opt/PhpStorm-111.344/bin/phpstorm.sh
desde elALT+F2
correrbox , invocando una terminal. Me devolvieron un mensaje quejándose de que $JAVA_HOME
no se puede encontrar la variable.
Ahora, de hecho tengo una $JAVA_HOME
configuración de variable de entorno en mi .bashrc
archivo, y se puede ver desde un echo $JAVA_HOME
comando. Nuevamente, puedo ejecutar la aplicación sin problemas si simplemente abro una terminal y ejecuto el script de shell desde allí, para que la $JAVA_HOME
variable se vea en ese contexto. Cerré la sesión, volví a iniciarla y ejecuté source ~/.bashrc
, y ninguno de los dos parece ayudar.
Ahora estoy pensando que es algún tipo de problema de permiso del usuario para la $JAVA_HOME
variable lo que impide que se ejecute.
¿Alguna sugerencia?
Respuesta1
Dependiendo de cómo esté configurado su administrador de pantalla/xsession, ~/.bashrc
es posible que no se obtenga antes de que startkde
se llame, por lo que si ahí es donde está configurando $JAVA_HOME
, es posible que nada en su escritorio KDE lo vea.
Afortunadamente, startkde
está configurado para obtener fuentes *.sh
de todos los directorios en kde4-config --path lib | tr : '\n' | sed -n -e 's,/lib[^/]*/,/env/,p'
. Es probable que esto contenga ~/.kde4/env
algo similar, por lo que si desea que una variable esté presente en toda la sesión de KDE, simplemente coloque un script de shell con un export
allí.
Respuesta2
Tengo una solución sencilla que implica un script de 2 líneas. Simplemente reexporta la $JAVA_HOME
variable a la ruta adecuada y luego invoca el script de shell principal de la aplicación. Al redireccionar el iniciador de aplicaciones KDE a este nuevo script, se inicia la aplicación como se esperaba.
Sin embargo, todavía no estoy seguro de por qué necesito hacer esto, ya que puedo ver claramente la $JAVA_HOME
definición correcta de la variable fuera del contexto de mi script artificial. Entonces, si alguien puede arrojar luz sobre por qué podría estar ocurriendo esto, con gusto lo marcaría como la respuesta apropiada para esta pregunta.