정리중이므로 글이 매끄럽지 않을 수 있음
Ubuntu 18.04에서 설치 파일 다운로드 -> 다른 Ubuntu 18.04 서버 컴퓨터로 설치를 가정함.
MATLAB 홈페이지에서 installer 다운로드
(현재 라이선스 키를 받기 위해서는 R2022b 이하 버전이 필요함을 확인)
https://kr.mathworks.com/downloads/
다운로드한 디렉토리에서 압축파일 풀기
unzip matlab_R2022b_glnxa64.zip
해당 경로에서 installer 실행
./install
(아래 캡쳐는 R2023a 버전을 기준으로 하였으나 해당 버전의 경우 라이센스 키를 받을 수 없음, R2022b 이하 버전을 설치할 것)
로그인 통해 registration
Advanced options에서 "I want to download without installing" 선택
다운로드 경로 설정
Linux 선택 후 파일 다운로드
MATLAB 홈페이지에서 라이선스 받기
https://kr.mathworks.com/licensecenter/
라이선스 선택에서 해당하는 라이선스 클릭
연결 문제 해결 -> 활성화하여 라이선스 파일 가져오기
서버 컴퓨터에서 호스트 ID 확인
ip addr | grep ether
에서 첫번째 12자리 코드
로그인 이름 확인
whoami
아니요 선택
파일 설치 키 복사해두기.
installer에서 다운로드받은 설치 파일 경로 내 installer_input.txt의 파라미터를 다음과 같이 수정
destinationFolder=/usr/local/MATLAB/R2022b
fileInstallationKey=파일 설치 키
agreeToLicense=yes
이 때 usr/local/MATLAB/R2022b는 매트랩 기본 설치 경로로 root가 아닌 사용자 권한으로 만들어 두는 게 편하다.
(root 권한으로 설치 시 후에 발생하는 오류 해결이 귀찮아서 그냥 이렇게 했음)
mkdir R2022b
sudo chmod 777 R2022b
로 서버 컴퓨터 안에 폴더를 만들어서 읽기쓰기 권한을 부여해두자
이후 scp를 이용해서 설치 파일을 서버로 옮겨둔다.
ssh를 통해 설치할 컴퓨터와 연결 후 다음 커맨드 실행
xauth list
예시)
foo/unix:11 MIT-MAGIC-COOKIE-1 ...
foo/unix:12 MIT-MAGIC-COOKIE-1 ...
foo/unix:13 MIT-MAGIC-COOKIE-1 ...
foo/unix:10 MIT-MAGIC-COOKIE-1 ...
ex) 10번 디스플레이를 사용한다면
DISPLAY=:10.0
export DISPLAY
xauth add foo/unix:10 MIT-MAGIC-COOKIE-1 ... (위에서 복사)
다시 ssh -XY를 통해 서버 컴퓨터에 연결 후
xhost +
echo $DISPLAY
localhost:10.0이 뜬다면 잘 된 것.
설치 파일을 받아놓은 경로에서 다음 커맨드 실행
./install -inputfile installer_input.txt
자주 발생하는 문제 - no display available 뜰 경우 다음 링크 참고 :
설치 과정에서 오류가 난 것 같다면 다음 경로에서 vim 등을 통해 log 파일을 확인하면 됨.
/tmp/mathworks_$USER.log
(optional) 경로 지정
vim ~/.bashrc
통해 .bashrc 파일을 수정, 다음 내용 추가 후 저장
alias matlab="/매트랩 설치 경로/bin/matlab"
이후 터미널에서 다음 커맨드 실행
source ./bashrc
이후 터미널에서 매트랩 가동 시
matlab -nodesktop
그러면 서버와 연결한 컴퓨터 디스플레이로 다음 창이 뜬다.
로그인 통해 인증하면 정상적으로 매트랩 사용이 가능함!
라이센스 키를 설치 시 입력했는데도 왜 인증이 필요한지는 의문..
결론 : GUI 없이 매트랩 설치가 목적임에도 매트랩은 실행 시 결국 GUI 환경을 필요로 한다네요 ^^~ 이럴수가
matlab -nodesktop
으로 command line을 통한 매트랩 실행이 가능하고
matlab -nodesktop < filename.m
을 통해 .m 파일도 실행할 수 있다.