어찌된 영문인지는 모르겠습니다만 MATLAB 2016a버전과 그 이하의 모든 MATLAB이 모두 Ubuntu 16.04에서 실행이 안 되는 현상이 발생하고 있습니다. 일단 MATLAB의 실행시 스플래시는 뜨지만 그 이후에 그대로 실행이 안되고 튕겨버립니다. 터미널에서 열어보면 Segmentation 오류가 나는데 그 전에도 간혹 있었던 libstdc++에러입니다.


우분투14.04~15.10까지와 libstdc++이 우분투 16.04의 libstdc++이 다른 것으로 생각됩니다. libstdc++은 시스템과 전반적으로 연관이 깊다 보니 시스템과 맞지 않을 경우 당연히 에러를 뿜게 되는 것입니다.


그럼 방법은 간단합니다. 그냥 시스템에 맞는 libstdc++을 사용하게 하면 됩니다. 기본적으로 MATLAB은 "/usr/local/MATLAB/R2016a/sys/os/glnxa64/libstdc++.so.6" 이 라이브러리를 사용하게 되어있습니다. 여기는 경로를 보시면 아시겠지만 MATLAB에서 제공하는 라이브러리입니다. 그런데 이 라이브러리가 시스템하고 안 맞는 부분이 있을 경우 에러가 나는 것입니다. 이럴 경우 우분투에서 제공하는 라이브러리를 사용하게 하면 되는 겁니다. 방법은 아주 간단하게도 MATLAB에서 제공한 라이브러리를 삭제하면 됩니다. 그러면 MATLAB은 시스템에 설치된 libstdc++파일을 사용하게 되고 시스템과 안 맞는 부분이 사라지게 되는 것이지요. 


이전에 Steam에서 우분투 16.04에 대응이 되지 않았을 때에도 써먹었던 방법인데 이게 MATLAB에서도 쓰이네요.


일단 삭제는 좀 어려울 수 있으니 파일명을 바꿔 버리는 것으로 해결합시다.


cd /usr/local/MATLAB/R2016a/sys/os/glnxa64/

sudo mv libstdc++.so.6 libstdc++.so.6.old


이렇게 해주시면 MATLAB은 해당 라이브러리가 아닌 우분투에서 사용하는 라이브러리를 사용하게 됩니다. 이제 사용하기만 하면 됩니다.깔끔하지요?

,



공돌이들의 친구 Matlab은 3대 OS를 모두 지원하는 프로그램입니다. 저도 덕분에 리눅스용을 설치해서 엄청 애용하고 있습니다.

 대다수 학교나 공공기관은 Windows용을 사용합니다만, 어차피 라이센스가 OS상관없이 호환되기 때문에 학교에서 구입한 Matlab을 리눅스에서도 별 문제없이 잘 쓰고 있습니다. 그런데 리눅스용을 쓰다보면 기존 Windows사용자들과 충돌이 가끔 벌어지는데 Windows용과 리눅스용은 단축키가 다르다는 문제가 있습니다.


원인은...Mathworks사에서는 리눅스용 Matlab을 만들때 리눅스에 기본적으로 포함된 Emacs의 단축키로 기본 세팅하기 때문이었습니다. 헌데, 리눅스 데스크탑도 Emacs단축키보다는 Windows단축키를 사용하는 것을 감안하면 뻘짓이지요.


Emacs를 쓰시는 분들이 그다지 많지 않은 관계로 대표적인 단축키가 어떤 차이가 있는지 말씀드리겠습니다.



 Emacs

Windows 

 Alt+W

Ctrl+C 

 Ctrl+Y

Ctrl+V 

 없음(!)

Ctrl+N


제가 제일 많이 쓰는 단축키 3개만 놓았는데도 이러한 차이가 나옵니다. 심지어 Windows단축키가 더 갯수가 많습니다. Emacs는 보통 본인들이 세팅해서 쓰는 스타일이니 그러려니 합니다.

어쨌거나 Windows단축키가 더 익숙해진 지금 Emacs단축키는 새로 외우기도 힘들고 심지어 어렵습니다.(Ctrl+Y는 한손으로 치기 어렵습니다... 손이 워낙 작아서...)그러면..세팅을 바꾸면 되는데 이 방법은 아주 간단합니다.


2014이전 버전에서는 File-Preference로 들어가시기 바랍니다. 이후 버전이라면...


도구상자에 있는 기본설정 버튼을 눌러주세요.



그리고 키보드-바로가기(Keyboard-Short cut)에서 Emacs 설정을 Windows Default로 바꿔주시면 됩니다.





이제 그냥 쓰던데로 쓰시면 됩니다.(!)

,