Unity 용 Matlab 런처를 어떻게 만드나요?


22

우분투 12.04에서 Unity 용 Matlab R2011a 런처를 설치하려고합니다. 나는 이 안내서를 시도했지만 (11.10에 대한 것으로 알고 있지만 11.10조차 Matlab R2011a에서 지원되지 않는 OS라고 언급하지만) 만족스러운 해결책은 없습니다.

이것은 내 런처 파일입니다 /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;

대시 패널을 열고 "matlab"을 검색합니다. 이 실행기는 응용 프로그램에서 찾을 수 있습니다. 클릭하면 Matlab의 스플래시 화면이 나타나지만 사라지면 프로그램이 시작되지 않습니다. (나는 htopmatlab 프로세스가 백그라운드에서 실행되고 있지 않다는 것을 확인했다 .)

내가 추가하면

Terminal=true

런처 파일에서 프로그램은 OK를 시작하고 Matlab뿐만 아니라 터미널을 엽니 다. 그러나 터미널과 Matlab 자체가 Launcher 영역에 Matlab 아이콘과 함께 표시되므로 실제로 하나 일 때 두 개의 Matlab 인스턴스가 실행되는 것처럼 보입니다 . (실제로, 그들은 동일한 두 인스턴스가 아닌 두 개의 다른 프로그램으로 나타납니다. 아이콘은 독립적이며 그룹화되어 있지 않습니다.)

이것은 확실히 최적이 아닙니다. 런처 영역에 잠글 수있는 런처를 만들려고했는데 프로그램이 실행 중일 때 동일한 아이콘이 활성 Matlab 인스턴스의 아이콘이됩니다.

예상대로 작동하는 Matlab 런처를 어떻게 만듭니 까?

업데이트 : 나는 분명히 내 증상에 대해 조금 불분명했다. 나는 조금 명확히하려고 노력할 것이다. 또한 답변에서 몇 가지 제안을 시도하고 어떤 일이 발생했는지 더 조사했습니다. 나의 현재 설정 (와 실행 파일 Terminal=true과는 Exec=matlab -desktop -nosplash &) 다음과 같은 동작을 렌더링 :

  1. 랩톱에서 Windows 키를 눌러 Dash를 열고 "matlab"을 검색합니다. "MATLAB R2011a"라는 실행기를 찾습니다. 클릭합니다.
  2. 시작 관리자 파일에서 언급 한 아이콘을 사용하여 터미널 창이 열립니다. 거의 즉시 MATLAB의 스플래시 화면도 같은 아이콘을 사용하여 열립니다 (따라서 실행기의 터미널 창과 그룹화 됨).
  3. 스플래시 화면이 사라지고 실행기의 아이콘 중 하나도 사라집니다. MATLAB 데스크탑 환경 은 터미널 창의 아이콘 옆에 표시되는 다른 버전의 아이콘사용하여 열립니다 (그룹화되지 않음).

터미널 창 아이콘을 시작 프로그램에 고정하고 클릭하여 MATLAB을 성공적으로 시작할 수 있지만 한 아이콘으로 프로그램을 시작하고 다른 아이콘으로 전환하는 것이 최적이라고 생각하지 않습니다. 나는 또한 다음을 시도했다.

  • Exec&런처 명령에 앰퍼샌드 가 없으면 차이가 없습니다.
  • matlab -nosplash터미널에서 수동으로 실행 하면 여전히 스플래시 화면이 표시됩니다. 그러면 nosplash 옵션은 실제로 무엇을합니까?

matlab터미널 창에서 수동으로 실행하면 어떻게됩니까 ?
Eliah Kagan

@ EliahKagan : 완벽하게 작동합니다. matlab또는을 실행해도 문제가되지 않습니다 matlab -desktop.
Tomas Aschan

아이콘과 똑같은 문제가 있습니다. 또한 repos에서 matlab 용 Ubuntu 패키지를 설치했습니다. 일단 matlab을 시작하면 다른 아이콘이 만들어지고 새로운 아이콘을 런처에 고정하면 새로운 아이콘이 matlab을 열지 않습니다.
Felipe

답변:


14

개렛의 대답은 거의 나를 위해 작동하지만 대신 사용해야합니다.

StartupWMClass=sun-awt-X11-XFramePeer

스플래쉬 스크린의 WM_CLASS가 "MATLAB"이기 때문에 스플래시 화면이 표시되는 동안 여전히 추가 실행기 아이콘이 표시되지만 창은 실행기 아래에 올바르게 그룹화됩니다.

터미널 또는 Synapse 또는 다른 tty에서 시작한 Matlab의 새 인스턴스 export DISPLAY=:0도이 실행기 아래에 그룹화되고 실행기의 종료 옵션이 모두 종료됩니다.

이 WM_CLASS 값을 사용하여 찾았습니다.

$ xprop WM_CLASS

그런 다음 수퍼 유저 로부터받은 명령 인 Matlab 창을 클릭합니다 .

임시 추가 실행기 아이콘을 방지하기 위해 그 -nosplash뒤에 플래그를 추가 할 수도 있습니다 -desktop.

그래서 내 ~/.local/share/applications/MATLAB.desktop모습은 다음과 같습니다.

[Desktop Entry]
Version=1.0
Type=Application
Icon=matlab
Name=Matlab
Comment=Start MATLAB - The Language of Technical Computing
Exec=matlab -desktop -nosplash
Terminal=false
Categories=Development;
StartupNotify=true
StartupWMClass=sun-awt-X11-XFramePeer
X-Ayatana-Desktop-Shortcuts=New_Window;

Name[en_US]=MATLAB

[New_Window Shortcut Group]
Name=start a new MATLAB instance
Exec=matlab -desktop

이것은 Matlab R2012b와 함께 Ubuntu 12.10에 있습니다.


이것은 내가 원하는대로 정확하게 작동합니다. 고마워요!
Tomas Aschan

2
나는 당신의 대답 을 조금 확장했습니다 . 여기에
비행 양

다른 사람들이 자신의 로고를 어디서 얻었는지 모르지만 다음과 같이 작동합니다.$ sudo wget http://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png -O /usr/share/pixmaps/matlab.png
Neil Traft

7

매우 이상합니다. matlab -desktop정말 트릭을해야합니다.

접근법 1 : 런처의 문제점 확인

Unity 사이드 바에 MATLAB 아이콘이 작동합니다. 클릭하면 올바른 아이콘이 유지되고 터미널이 열리지 않습니다. 내가 볼 수있는 한, 코드와 거의 동일합니다.

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/local/MATLAB/R2011b/bin/matlab -desktop
Name=MATLAB
Icon=/home/tomas/icons/Matlab_Logo.png

위의 코드는 matlab.desktop에 있으며에 배치됩니다 /usr/share/applications/. 내가 알 수있는 유일한 차이점은 (i) Exec경로이지만 MATLAB 설치 중에 symlink를 설치하면 제대로 작동해야하며 (ii) MATLAB R2011b를 실행 중입니다.

당신처럼, 나는 우분투 12.04를 실행하고 있습니다.

내가 뭔가를 놓친 경우 내 코드를 사용하여 MATLAB을 시작할 수 있습니다.

접근법 2 : 터미널에 대한 더러운 해결 방법

matlab -desktop터미널에 입력 하는 것을 언급 했습니다.Terminal=true ). 그러나 MATLAB 아래에 두 개의 화면이 그룹화되어 있습니다.

프로세스 호출 방법을 변경하여이 문제를 해결할 수 있습니다. 여기서 핵심은 앰퍼샌드 &기호입니다. 그렇게하는 것은 앞의 코드를 끝내고 기다리지 않고 실행하는 것입니다. 이상적으로는 터미널을 시작하고 터미널에서 MATLAB을 시작한 다음 터미널을 즉시 닫아 MATLAB을 실행 상태로 둡니다. 라인 뒤의 앰퍼샌드로 터미널에서 matlab을 시작하면 어떻게됩니까?

matlab -desktop &

그것이 효과가 있다면 (i) Terminal=true 위 코드를 사용하여 실행기를 만들거나 (ii) bash 스크립트를 참조하는 실행기를 만들면 위 코드가 호출됩니다.

접근법 1은 도움이되지 않았습니다. Approach 2가 작동하지 않으면 조금 놀아도 좋을 수 있습니다. 앰퍼샌드, 터미널 및 bash 스크립트로 할 수있는 것과 할 수없는 것을보십시오. 나는 좋은 아이디어가 거의 없지만 나보다 똑똑한 사람이 당신을 도울 수 있습니다.


나는 당신의 코드를 시도했지만 성공하지 못했습니다. 또한 (i) Matlab을 설치하는 동안 심볼릭 링크를 설치했습니다. (ii) 물론 중요한 차이점이 될 수 있습니다. 불행히도이 라이센스는 아카데믹 라이센스이며 R2011a는 최신 버전이므로 R2011b = (
Tomas Aschan

방금 게시물을 편집하여 다른 아이디어를 추가했습니다. 그것이 당신에게 어떻게 효과가 있는지 알려주십시오.
Tomas

감사! 그러나 큰 차이는 없었습니다. 내 증상에 대해 조금 불분명 한 것 같습니다. 자세한 내용은 OP 업데이트를 참조하십시오.
Tomas Aschan

Aha, 생성 한 실행기를 사용하여 MATLAB을 시작할 수 있습니다 . 잘못된 아이콘 일뿐입니다. 접근법 2에서 설명한 터미널 솔루션을 사용하면 올바른 아이콘이 표시되지 않을까 걱정됩니다. 나는 똑같은 문제가 있었지만 MATLAB을 사용하여 호출 할 수 있습니다 matlab -desktop(접근법 1 참조). 저에게는 스플래시 화면과 기본 인터페이스의 올바른 아이콘이있는 MATLAB을 소환합니다. 잠긴 실행기 아래에 배치됩니다. 올바른 아이콘을 원하고로 런처를 통해 MATLAB을 실행할 수 없으면 matlab -desktop아이디어가 없습니다. 내가 무엇이든 생각해 내면 알려 드리겠습니다.
Tomas

.desktop 파일에 해당하는 텍스트는 어떻게 보입니까?
DBinJP

4

소프트웨어 센터에서 Matlab 구성 파일 / 스크립트를 설치했습니다. Matlab 런처를 대시에 나열하고 Ubuntu 12.04의 Matlab2011a에 완벽하게 작동합니다. 그러나 그것은 발사기에서 작동하지 않습니다. 내 말은, 당신이 런처에 고정하고 거기에서 시작하려고하면 작동하지 않습니다. 적어도 나를 위해 작동하지 않습니다. 따라서 대시에서 시작해야합니다.

이를 설치하려면 Ubuntu Software Center 로 이동 하여 Matlab을 검색 하십시오. 목록에서 첫 번째 아이콘이어야합니다 (아이콘은 Matlab 로고 임). 설치 만하면 나머지를 관리 할 수 ​​있습니다.


1
좋은 팁! 그러나 자체 제작 런처와 동일한 문제가 발생합니다.
Tomas Aschan

감사합니다 @maqtanim! 나를 위해 매력처럼 작동합니다 (ubuntu 12.10 amd64)
amc

나를 위해 완벽하게 일했습니다 (12.10의 Matlab R2013a). 이것을 설치하기 전에 런처조차 없었습니다. 소프트웨어 센터 링크 : apt.ubuntu.com/p/matlab-support
Tobold

3

새로 설치 ( Ubuntu 12.04의 버전 R2010b) 부터 올바르게 작동하기 위해 수행 한 작업은 다음과 같습니다 .

  1. 제안 된 대로 소프트웨어 센터에서 matlab 지원 패키지를 설치하십시오 . 또는 다음 명령을 사용할 수 있습니다 sudo apt-get install matlab-support..

  2. 로컬 .desktop 파일을 작성하십시오 gedit ~/.local/share/applications/matlab.desktop. 어떤 이유로 / usr / share / applications에 저장하면 처음 로그인 할 때 작동하지 않습니다.

  3. 다음 코드를 복사하여 붙여넣고 저장하십시오. 중요한 변경 사항은 StartupWMClass 줄입니다.

    [Desktop Entry]
    Version=1.0
    Type=Application
    Icon=/usr/share/icons/matlab.png
    Name=Matlab
    Comment=Start MATLAB - The Language of Technical Computing
    Exec=matlab -desktop
    Terminal=false
    Categories=Development;
    StartupNotify=true
    StartupWMClass=com-mathworks-util-PostVMInit
    X-Ayatana-Desktop-Shortcuts=New_Window;
    
    [New_Window Shortcut Group]
    Name=New Matlab
    Exec=matlab -desktop
    
  4. matlab.desktop 파일을 저장 한 응용 프로그램 폴더를 엽니 다 nautilus ~/.local/share/applications.

  5. matlab.desktop 파일을 단일 실행기로 끌어다 놓습니다.


정말 유망 해 보인다! 그러나 더해야 할 일이 있습니다.이 작업을 수행 한 후 런처에서 Matlab 아이콘을 클릭하면 다음이 수행됩니다 .1) 별도의 런처 아이콘이있는 스플래시 창이 표시되고 클릭 한 아이콘이 깜박이기 시작합니다 ( 아웃). 2) 스플래시 창이 나타나고 아이콘이 사라지고 실행기 아이콘이 계속 깜박입니다. 3) 아이콘이 깜박임을 멈추고 아무 일도 일어나지 않습니다.
Tomas Aschan

또한 matlab.desktop 파일이 루트가 아닌 내 소유이며 모든 사용자가 읽기 및 실행 권한을 가지고 있는지 확인했습니다.
Tomas Aschan

그러나 터미널이나 Guake에서 Matlab을 시작하면 런처에 방금 넣은 아이콘을 사용하므로 무언가 옳습니다 =)
Tomas Aschan

스플래시 화면이 저절로 표시되지만 사라집니다. 이것은 Matlab 가상 머신 (주 프로그램)과 다른 클래스를 가지고 있기 때문입니다. 시작하지 않는 한 확실하지 않습니다. 특히 터미널에서 시작한다고 말했기 때문에 (같은 명령을 사용한다고 가정합니다 matlab -desktop)
Garrett Foster

예, 같은 명령을 사용합니다. matlab &또한 문제없이 작동합니다 (즉, -desktop터미널에서 시작할 때 스위치가 필요하지 않습니다).
Tomas Aschan

1

아마 조금 늦게 올지 모르지만 '주 메뉴'응용 프로그램에 항목을 추가 하여이 작업을 수행했습니다. 나는 그것을 '응용 프로그램'으로 나열한 다음 MATLAB 디렉토리의 실행 파일에 대한 전체 경로를 명령으로 제공했습니다.

또한 '-desktop'플래그를 따옴표없이 추가해야했습니다. 또한 64 비트 시스템에서 학생 버전을 사용할 때 '-glnx86'플래그도 사용해야했지만 잘 작동했습니다.

그런 다음이 웹 사이트 에서 아이콘을 얻었습니다 .

그런 다음 응용 프로그램 메뉴에 위치하여 실행기로 끌 수 있습니다. 조금 이상하게 행동하는 유일한 것은 그것을 클릭하면 다른 MATLAB 아이콘이 이미 실행기를 사용하는 대신 실행기에 나타납니다. 누구 든지이 문제를 해결할 수있는 방법을 찾을 수 있다면 좋을 것입니다 ...하지만 나는 그것을 그대로 살 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.