Registrar una aplicación independiente en el Lanzador de aplicaciones de KDE

Registrar una aplicación independiente en el Lanzador de aplicaciones de KDE

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 /optdirectorio usando sudo.

Puedo iniciar el script de shell principal desde la línea de comandos sin usarlo sudoy sin problemas.


Me gustaría ejecutar la aplicación desde mi Application Launchermodo, 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 .desktopproblema de archivos? ¿Algo más?

Ejecuté el comando /opt/PhpStorm-111.344/bin/phpstorm.shdesde elALT+F2 correrbox , invocando una terminal. Me devolvieron un mensaje quejándose de que $JAVA_HOMEno se puede encontrar la variable.

Ahora, de hecho tengo una $JAVA_HOMEconfiguración de variable de entorno en mi .bashrcarchivo, y se puede ver desde un echo $JAVA_HOMEcomando. 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_HOMEvariable 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_HOMEvariable lo que impide que se ejecute.

¿Alguna sugerencia?

Respuesta1

Dependiendo de cómo esté configurado su administrador de pantalla/xsession, ~/.bashrces posible que no se obtenga antes de que startkdese llame, por lo que si ahí es donde está configurando $JAVA_HOME, es posible que nada en su escritorio KDE lo vea.

Afortunadamente, startkdeestá configurado para obtener fuentes *.shde todos los directorios en kde4-config --path lib | tr : '\n' | sed -n -e 's,/lib[^/]*/,/env/,p'. Es probable que esto contenga ~/.kde4/envalgo 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 exportallí.

Respuesta2

Tengo una solución sencilla que implica un script de 2 líneas. Simplemente reexporta la $JAVA_HOMEvariable 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_HOMEdefinició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.

información relacionada