Estoy tratando de instalar un lanzador Matlab R2011a para Unity en Ubuntu 12.04. He probado esta guía (aunque sé que es para 11.10 y menciona que incluso 11.10 es un sistema operativo no compatible para Matlab R2011a) pero sin ninguna solución satisfactoria.
Este es mi archivo de inicio /usr/share/applications/matlab.desktop
:
#!/usr/bin/env xdg-open
[Desktop Entry]
Type=Application
Icon=/usr/share/icons/matlab.png
Name=MATLAB R2011a
Comment=Start MATLAB - The Language of Technical Computing
Exec=matlab -desktop
Categories=Development;
Abro el panel de instrumentos y busco "matlab". Este lanzador se encuentra entre las aplicaciones. Lo hago clic y aparece la pantalla de bienvenida de Matlab, pero cuando desaparece, el programa no se inicia. (He verificado con htop
que tampoco se ejecutan procesos de matlab en segundo plano).
Si agrego
Terminal=true
en el archivo de inicio, el programa inicia OK y abre un terminal y Matlab. Sin embargo, tanto la terminal como Matlab se muestran en el área del Iniciador, con el ícono de Matlab, por lo que parece que tengo dos instancias de Matlab ejecutándose cuando realmente es solo una. (En realidad, aparecen como dos programas diferentes, y no solo como dos instancias de lo mismo: los íconos son independientes, no están agrupados).
Esto definitivamente no es óptimo. Tenía la esperanza de crear un iniciador que pueda bloquear en el área del iniciador, y luego ese mismo ícono será el ícono de la instancia activa de Matlab cuando el programa se esté ejecutando.
¿Cómo creo un lanzador para Matlab que funcione como se espera?
Actualización: Aparentemente no estaba claro sobre mis síntomas, intentaré aclarar un poco. También probé algunas sugerencias de las respuestas e investigé más a fondo lo que sucede. Mi configuración actual (un archivo de inicio con Terminal=true
y Exec=matlab -desktop -nosplash &
) presenta el siguiente comportamiento:
- Abro Dash presionando la tecla de Windows en mi computadora portátil y busco "matlab". Encuentra el lanzador llamado "MATLAB R2011a". Lo hago clic
- Se abre una ventana de terminal, usando el icono al que me referí en el archivo de inicio. Casi de inmediato, la pantalla de bienvenida de MATLAB también se abre, usando el mismo ícono (y, por lo tanto, se agrupa con la ventana de terminal en el iniciador).
- La pantalla de inicio desaparece y también uno de los íconos del iniciador. Se abre el entorno de escritorio de MATLAB, utilizando una versión diferente del icono que se muestra junto al icono de la ventana del terminal (no agrupado con él).
Puedo bloquear el ícono de la ventana de terminal en el iniciador e iniciar MATLAB con éxito haciendo clic en él, pero no me parece óptimo que inicie el programa con un ícono y lo cambie con otro. También probé lo siguiente:
Exec
sin el signo y&
en el comando del lanzador, pero no hizo la diferencia.- La ejecución
matlab -nosplash
manual desde un terminal aún muestra la pantalla de inicio. (Entonces, ¿qué hace realmente la opción nosplash?)
matlab
manualmente en una ventana de Terminal?matlab
omatlab -desktop
tampoco.Respuestas:
La respuesta de Garrett casi funciona para mí, pero en cambio tengo que usar
Esto todavía da un ícono de iniciador adicional mientras la pantalla de bienvenida está visible (porque el WM_CLASS de la pantalla de spash es solo "MATLAB"), pero luego la ventana se agrupa correctamente debajo del iniciador.
Las nuevas instancias de Matlab (comenzadas por terminal, o Synapse, o desde otro tty con
export DISPLAY=:0
) también se agrupan en este lanzador, y la opción de dejar de fumar del lanzador las mata a todas.Encontré este valor WM_CLASS usando
y luego haciendo clic en la ventana de Matlab, un comando que recibí de Superusuario .
Para evitar el icono de lanzador adicional temporal, también puede agregar la
-nosplash
bandera después de la-desktop
.Entonces, mi
~/.local/share/applications/MATLAB.desktop
aspecto es el siguiente:Esto está en Ubuntu 12.10, con Matlab R2012b
fuente
$ sudo wget http://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png -O /usr/share/pixmaps/matlab.png
Eso es muy raro.
matlab -desktop
Realmente debería hacer el truco.Enfoque 1: vea qué le pasa al lanzador
Tengo un icono de MATLAB en funcionamiento en mi barra lateral de Unity. Puedo hacer clic en él, mantiene el icono correcto y no abre una terminal. Sin embargo, hasta donde puedo ver, es más o menos lo mismo que su código:
El código anterior está en matlab.desktop, que se coloca en
/usr/share/applications/
. Las únicas diferencias que veo que podrían importar son (i) laExec
ruta, pero si instaló enlaces simbólicos durante las instalaciones de MATLAB, la suya debería funcionar bien y (ii) estoy ejecutando MATLAB R2011b.Como tú, estoy ejecutando Ubuntu 12.04.
En caso de que me haya perdido algo, podría intentar usar mi código para iniciar MATLAB, quién sabe, podría funcionar.
Enfoque 2: una solución sucia con el terminal
Usted mencionó que entrar
matlab -desktop
en el terminal funciona (es decir, agregarTerminal=true
). Sin embargo, eso le da dos pantallas agrupadas bajo MATLAB.Puede intentar solucionar esto cambiando la forma en que llama al proceso. La clave aquí sería el
&
símbolo de ampersand . Lo que hace es ejecutar el código anterior, sin esperar a que termine. Idealmente, iniciaría el terminal, dejaría que el terminal iniciara MATLAB e inmediatamente cerraría el terminal, dejando MATLAB en ejecución. ¿Qué sucede si comienzas matlab desde la terminal con el ampersand después de la línea, o:Si eso funciona, puede intentar (i) hacer un lanzador con
Terminal=true
el código anterior o (ii) hacer un lanzador que se refiera a un script bash, que a su vez llama al código anterior.Para usted, el Enfoque 1 no ayudó. Si el Enfoque 2 tampoco funciona, puede ser bueno jugar un poco, vea lo que puede y no puede hacer con los scripts de ampersand, terminal y bash. No tengo buenas ideas, pero alguien más inteligente que yo podría ayudarte en ese momento.
fuente
matlab -desktop
(ver Enfoque 1). Para mí, eso convoca a MATLAB, con la pantalla de bienvenida y el ícono correcto para la interfaz principal. Se coloca debajo del lanzador bloqueado. Si desea el ícono correcto y no puede ejecutar MATLAB a través de un iniciador conmatlab -desktop
, no tengo ideas. Te haré saber si se me ocurre algo.Instalé un archivo / script de configuración de Matlab desde el Centro de software. Enumera el iniciador de Matlab en el tablero y funciona perfectamente para Matlab2011a en Ubuntu 12.04. Pero no funciona desde el lanzador. Quiero decir, si lo bloqueas en el iniciador e intentas iniciarlo desde allí, entonces no funcionará, al menos no funciona para mí. Así que tengo que comenzar desde el tablero.
Para instalar esto, vaya al Centro de software de Ubuntu , busque el Matlab , debe ser el primero en la lista (el icono es un logotipo de Matlab). Simplemente instálelo y se encargará del resto.
fuente
Esto es lo que hice para que las cosas funcionen correctamente comenzando con una nueva instalación ( versión R2010b en Ubuntu 12.04 ).
Instale el paquete matlab-support desde el centro de software como se sugiere . O puede utilizar el siguiente comando:
sudo apt-get install matlab-support
.Crear un archivo .desktop locales:
gedit ~/.local/share/applications/matlab.desktop
. Por alguna razón, guardarlo en / usr / share / aplicaciones hizo que no funcionara cuando inicie sesión por primera vez.Copie y pegue el siguiente código y guárdelo. El cambio importante es la línea StartupWMClass .
Abrir las aplicaciones de la carpeta en la que acaba de guardar el archivo matlab.desktop:
nautilus ~/.local/share/applications
.Arrastre y suelte el archivo matlab.desktop en el iniciador de la unidad.
fuente
matlab -desktop
)matlab &
También funciona sin problemas (es decir, el-desktop
interruptor no es necesario cuando se inicia desde la terminal).Tal vez estoy llegando a esto un poco tarde, pero he logrado hacer esto agregando una entrada a la aplicación 'Menú principal'. Lo enumeré como una 'Aplicación' y luego proporcioné la ruta completa al ejecutable en el directorio de MATLAB como el Comando.
También tuve que agregar la bandera '-desktop' (sin comillas). Además, también tuve que usar el indicador '-glnx86' ya que estoy usando la versión para estudiantes en un sistema de 64 bits, pero eso también funcionó bien.
Luego logré obtener un ícono de este sitio web .
Esto se puede ubicar en el menú de la aplicación y arrastrar hacia el lanzador. Lo único que está actuando un poco extraño es que cuando hago clic en él, aparece otro ícono de MATLAB en el iniciador en lugar de simplemente usar el que ya está allí. Si alguien puede encontrar una manera de resolver esto, entonces sería genial ... pero puedo vivir con eso tal como está.
fuente