我想用我的NetBeans IDE中運行下面的示例代碼:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dbus/dbus.h>
int main() {
DBusConnection *connection = NULL;
DBusError error;
char buffer[1024];
dbus_error_init(&error);
connection = dbus_bus_get(DBUS_BUS_SESSION, &error);
if (dbus_error_is_set(&error)) {
fprintf(stderr, "%s", error.message);
abort();
}
puts("This is my unique name");
puts(dbus_bus_get_unique_name(connection));
fgets(buffer, sizeof(buffer), stdin);
return 0;
}
從優秀教程: DBUS TUTORIAL USING THE LOW-LEVEL API
我有我無頭丕設置了SSH,並已安裝的所有dbus開發所必需的庫。
然而,在NetBeans中運行該程序時,我收到以下錯誤
無法的AutoLaunch一個DBUS守護進程沒有$顯示X11
在/ usr/bin中/ dbus-launch會異常與終止以下錯誤:Autolaunch錯誤:X11初始化失敗。
注意,我在我的遠程主機屬性啓用的NetBeans
X11轉發我可以看到,如果我SSH到郫縣自己和 回聲$ DISPLAY 這個沒有返回,是空的。
到目前爲止,我曾嘗試:
in /etc/ssh/sshd_config
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no
AllowTcpForwarding yes
沒有工作。
試運行環境變量設置爲
DISPLAY export DISPLAY=$HOSTNAME:0.0
0x212d0 "org.freedesktop.DBus.Error.Spawn.ExecFailed"
0x21fe8 "/usr/bin/dbus-launch terminated abnormally with the following error: Autolaunch error: X11 initialization failed.\\n"
沒有工作。
試圖
In /etc/ssh/ssh_config
ForwardX11 yes
沒有工作。
這是一個讓我的Pi設置爲X11或配置我的netbeans環境來運行具有特定參數的程序的情況嗎?
非常感謝您的任何建議。
更新2017年8月30日:
我做了一個新的安裝debian的,隨後吉爾的回答:
我可以確認:在 /etc/ssh/sshd_config
X11Forwarding yes X11DisplayOffset 10
。 ..
xauth安裝在遠程Pi上。
我在我的客戶端mac上安裝了XQuartz。當ssh -X pi @ IP地址,xquartz打開,並且如果我在遙控Pi上獲得localhost:12.0
...數字隨每個終端而改變。
目前,如果錯誤地設置項目環境在NetBeans:
DISPLAY =本地主機:11.0(這是錯誤的,因爲數量與每個ssh連接到遠程丕變)。
因此,當我嘗試運行該程序時,NetBeans將掛起,我也無法調試。
我在這個階段的問題是,我如何正確地爲NetBeans設置DISPLAY環境,以便每次它與遠程Pi進行SSH連接並請求X11轉發時,它將具有正確的$ DISPLAY?
感謝您的回覆。我已經在你提供的鏈接中跟隨吉爾斯的回答。並在客戶端mac上安裝了XQuartz。請參閱我主要問題中的更新。我如何在NetBeans項目中正確設置$ DISPLAY環境,以便每次netbeans與遠程Pi建立SSH連接時,它都能正確設置DISPLAY?非常感謝。 –
@Dan_R如果您有新問題,請提出新問題。 –
道歉,你是對的......我在這裏提出了一個新的問題:[link](https://stackoverflow.com/q/46043094/1315288) –