2015-02-10 66 views
0

請在下面找到我正在使用的腳本在mac上運行pharo海邊圖像無頭。它爲Mac OS下載的pharo3.0映像。啓用RFB/VNC的Pharo3.0無頭像

#!/bin/bash 



RT="$PWD/Pharo3.0.app/Contents" 

#exec $0 "$RT/MacOS/Pharo" "$RT/Resources/Pharo3.0.image" 

exec "$PWD/Pharo3.0.app/Contents/MacOS/Pharo" --headless --nohandlers "$PWD/Pharo3.0.app/Contents/Resources/Pharo3.0.image" --no-default-preferences --no-quit 

該腳本放置在與Pharo3.0.app相同的文件夾,它執行得很好。

1)任何人都可以驗證這一點,讓我知道如果我這樣做的正確方式來啓動無頭像部署?

此外,我有一個RFB服務器設置在圖像中進行調試。當我連接到它,並做了右鍵點擊我得到下面的錯誤

RFB: caught ConnectionClosed: Connection close while waiting for data.SubclassResponsibility: NonInteractiveUIManager had the subclass responsibility to implement #newMenuIn:for: 

NonInteractiveUIManager(Object)>>subclassResponsibility 

NonInteractiveUIManager(UIManager)>>newMenuIn:for: 

PluggableTextMorph(ScrollPane)>>getMenu: 

PluggableTextMorph>>yellowButtonActivity: 

SmalltalkEditor(TextEditor)>>mouseUp: 

TextMorphForEditView(TextMorph)>>mouseUp: in Block: [ editor mouseUp: evt ] 

TextMorphForEditView(TextMorph)>>handleInteraction: 

TextMorphForEditView>>handleInteraction: 

TextMorphForEditView(TextMorph)>>mouseUp: 

TextMorphForEditView>>mouseUp: 

TextMorphForEditView(Morph)>>handleMouseUp: 

MouseButtonEvent>>sentTo: 

TextMorphForEditView(Morph)>>handleEvent: 

TextMorphForEditView(Morph)>>handleFocusEvent: 

HandMorph>>sendFocusEvent:to:clear: in Block: [ ... 

BlockClosure>>on:do: 

WorldMorph(PasteUpMorph)>>becomeActiveDuring: 

HandMorph>>sendFocusEvent:to:clear: 

HandMorph>>sendEvent:focus:clear: 

HandMorph>>sendMouseEvent: 

HandMorph>>handleEvent: 

MouseClickState>>handleEvent:from: 

HandMorph>>handleEvent: 

HandMorph>>processEvents 

WorldState>>doOneCycleNowFor: in Block: [ :h | ... 

Array(SequenceableCollection)>>do: 

WorldState>>handsDo: 

WorldState>>doOneCycleNowFor: 

WorldState>>doOneCycleFor: 

WorldMorph>>doOneCycle 

請讓我知道我做錯了。

TIA,

thushar

回答

0

我看不錯。

RFB的問題實際上是不是 RFB本身,而是NonInteractiveUIManager。該課程應實施#newMenuIn:for:。我的建議:你不應該使用RFB的NonInteractiveUIManager。當您啓動RFB(或者,當你收到一個連接),你應該做這樣的事情:

UIManager default: MorphicUIManager new. 
"let the connection run, when it's done, use the other one:" 
UIManager default: NonInteractiveUIManager. 

你應該恢復到NonInteractiveUIManager當你不與圖像交互,從而確保你不窗口,對話框和調試器在無頭圖像中彈出。