2011-02-19 8 views
12

GUI로 작업하지 않으며 -nodesktop -nodisplay 옵션으로 터미널 (항상 전체 화면이므로 제목 표시 줄 없음)을 설정합니다. 또한 연결하는 다른 서버가 있고, matlab을 실행하기 위해 각각의 서버에는 계산 리소스를 제한하는 데있어 다른 제한이 있습니다. 내가 어느 서버를 사용하고 있는지, 특히 여러 세션을 열어 놓은 상태인지 기억하기가 어렵 기 때문에 서버 이름을 표시하라는 프롬프트를 변경할 수 있는지 궁금합니다. 내가 할 수있는 것처럼 시도해보십시오. Mathworks가 그것을 지원하지 않는다고 생각하기 시작했습니다. 어떻게하는지 설명하는 리소스를 찾을 수 없었습니다. 해결 방법은 단순히 system('hostname')에 함수 호출을 작성하고 경로에 함수를 넣는 것입니다. 따라서 디렉토리를 찾기 위해 pwd을 입력하는 것만큼이나 간단합니다. 좀 더 우아한 것이 있는지 알고 싶습니다.MATLAB에서 프롬프트를 변경할 수 있습니까?

+0

@ user564376 : IDE를 사용하지 않는 이유는 무엇입니까? – zellus

+0

나는 ssh로 서버에 연결하고 거기서 일한다. 비록 내가 아주 좋은 연결을 가지고 있지만, X11 돼지 자원 (물론, jvm은 제외)을 통해 모든 gui를 스트리밍합니다. 터미널에서 작업하고 '보이는' '꺼짐'으로 모든 인물을 인쇄하고 내 노트북으로 다시 밀고 로컬에서 볼 때 훨씬 더 빠릅니다. –

답변

12

setPrompt에 의해 Yair Altman으로 제출할 수있는 MathWorks File Exchange에 제출 한 내용이 있습니다. I가 프롬프트를 변경하는 방법

warning('off','MATLAB:hg:JavaSetHGProperty'); 

그리고 여기 :

Warning: Possible deprecated use of set on a Java callback. 
> In setPrompt at 115 

나는 warning 기능과 같이 사용 억제 할 수 있었다 : R2010b에서 그것을 사용하여, 나는 내가 경고 메시지를 받고있는 것을 발견 system 기능을 이용하여 호스트 이름 :

>> [~,systemString] = system('hostname'); 
>> setPrompt([deblank(systemString) '>> ']); 
P11-4504>> 

함수 deblank이 경우 (후행 공백을 제거하는 데 사용되는 줄 바꿈 문자). 위의 변경 (억제 경고 및 수정 프롬프트)는 MATLAB을 종료하고 다시 시작하면 당신은 당신이 새로운 세션을 시작할 때마다 자동으로 적용하기 위해 startup.m file에 위의 코드를 넣을 수 있도록, 유지되지 않습니다 : 참고

.

+1

이 답변은 최신 버전 (MATLAB 2018a)에 잘 적용되지 않는 것으로 보입니다. Altman 코드는 이제 반응에 대한 경고를 발행합니다. 새로운 방법이 있습니까? –

+1

@AlecJacobson : 그런 것을 나타내는'setPrompt'에 대한 제출 페이지에 의견을 남기고 싶습니다. – gnovice

+0

초기에 [이 질문] (https://stackoverflow.com/questions/48646435/)을 중복 @gnovice로 표시 한 이유를 완전히 이해했지만 중복 태그 제거를 보증하는 것은 충분히 다를 것으로 생각됩니다. 질문 간의 차이점에 대한 간략한 설명을 추가하고이 질문과 연결하여 필요로하는 사용자를 리디렉션 할 수 있도록했습니다. 분명히 여기에서 더 많은 경험을 할 수 있으므로, 나는 그것을 당신의 손에 맡길 것이고, 나는 당신의 결정을 어느쪽으로 든 존경 할 것입니다. – Lucubrator

관련 문제