[問題] docker 中使用 kdevelop
我想用最新版,但不相容於我的舊系統的 kdevelop ,所以試著放在 docker 中使用。
但不知為何總是無法啟動。
docker 中使用的是 debian buster,為了硬體加速,nv 驅動也裝了。
glxgears 、 konsole 都可以開,就 kdevelop 不行。
請問要如何使用呢?
------------------
docker 啟動指令是:
docker run -ti --rm
-e DISPLAY=$DISPLAY
-v /tmp/.X11-unix:/tmp/.X11-unix
--device /dev/snd
--net=host
--shm-size 2g
fdc
執行後的錯誤訊息如下:
$ kdevelop
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-sppmg'
kdevplatform.serialization: version-hint not found, seems to be an old version
kdevplatform.serialization: "The data-repository at /home/sppmg/.cache/kdevduchain/kdevelop-{999c931b-ece1-4542-82dc-9c2fdaf9d6d3} has to be cleared."
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-sppmg'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-sppmg'
kdeinit5: Got EXEC_NEW '/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kio/man.so' from launcher.
kdeinit5: preparing to launch '/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kio/man.so'
Failed enumerating UDisks2 objects: "org.freedesktop.DBus.Error.Disconnected"
"Not connected to D-Bus server"
Failed enumerating UDisks2 objects: "org.freedesktop.DBus.Error.Disconnected"
"Not connected to D-Bus server"
...... (重複好幾次)
Segmentation fault
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.173.247
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1509982108.A.DFD.html
推
11/06 23:53,
8年前
, 1F
11/06 23:53, 1F
推
11/07 00:11,
8年前
, 2F
11/07 00:11, 2F
試過了,但 $XDG_RUNTIME_DIR 是空的,結果一樣。
→
11/07 00:27,
8年前
, 3F
11/07 00:27, 3F
--net=host
就是為了dbus 加的,參考網址如下:(抱歉,我就不特別縮了)
http://ask.projectatomic.io/en/question/3647/how-to-connect-to-session-dbus-from-a-docker-container/?answer=3648#post-id-3648
後來發現 docker 內的 dbus 沒啟動,在
/etc/init.d/dbus start
好像可以連上 dbus ,但仍會 Segmentation fault
(所以此時 dbus 是 host 的還是 container 的?)
※ 編輯: sppmg (36.231.173.247), 11/07/2017 14:23:13
推
11/07 18:32,
8年前
, 4F
11/07 18:32, 4F
→
11/07 18:32,
8年前
, 5F
11/07 18:32, 5F
→
11/07 18:36,
8年前
, 6F
11/07 18:36, 6F
→
11/08 00:22,
8年前
, 7F
11/08 00:22, 7F
→
11/08 00:25,
8年前
, 8F
11/08 00:25, 8F
→
11/08 00:25,
8年前
, 9F
11/08 00:25, 9F
→
11/08 00:25,
8年前
, 10F
11/08 00:25, 10F
回報一下剛剛的測試結果:
gdb 執行結果:(完整結果請見 https://pastebin.com/d95yfCk8 )
Thread 1 "kdevelop" received signal SIGSEGV, Segmentation fault.
__memmove_sse2_unaligned_erms () at ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S:325
325 ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
google :
memmove-vec-unaligned-erms.S: No such file or directory.
之後,看到
https://github.com/qTox/qTox/issues/3928
也有類似問題,疑似軟體一開始會播放音效,觸發 OpenAL bug (?)
mikevmk 提供的解法是
echo "enable-shm = no" >> /etc/pulse/client.conf
我照做了,並配合用 root 啟動 dbus + 以 user 啟動 pulseaudio --start 。
但結果仍然一樣。
(另外也參考過 https://stackoverflow.com/a/28985715 )
我的host os 是直接用 alsa ,沒有 pulse 。這樣會是問題點嗎?
也曾懷疑會不會是 buster 的 kdevelop 有 bug,
在 buster 上裝了 stretch 的 kdevelop (4:5.0.3-1+b1)
還是一樣的問題。
後來看到 docker hub 上有 yume190/kdevelop (不過是基於 debian:jessie )
測試後雖然有跳出視窗,但內容一片白。其錯誤訊息如下
X Error: BadShmSeg (invalid shared segment parameter) 159
Extension: 142 (MIT-SHM)
Minor opcode: 2 (X_ShmDetach)
Resource id: 0x6200013
Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QString)
Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QString)
X Error: BadShmSeg (invalid shared segment parameter) 159
Extension: 142 (MIT-SHM)
Minor opcode: 3 (X_ShmPutImage)
Resource id: 0x620001b
前後是一堆的 X Error 。沒有 Segmentation fault ,但就是沒畫面。
請問 galic 大的 docker os 是哪個呢?如果安裝版本都一樣,或許真是我 host os
的問題,可能要找時間在 VM 裡面測 docker 了。
※ 編輯: sppmg (36.231.173.247), 11/08/2017 19:10:39
推
11/08 20:00,
8年前
, 11F
11/08 20:00, 11F
→
11/08 20:01,
8年前
, 12F
11/08 20:01, 12F
→
11/08 20:01,
8年前
, 13F
11/08 20:01, 13F
→
11/08 20:02,
8年前
, 14F
11/08 20:02, 14F
→
11/08 20:02,
8年前
, 15F
11/08 20:02, 15F
→
11/08 20:03,
8年前
, 16F
11/08 20:03, 16F
太神啦~~
開出來了!看到啟動畫面那一刻超感動~~~
看來我的 debian 7 可以再戰十年了 XD
不過看來 qt/gui 部份也只能到 jessie 了 ...
我最後用的指令是這樣的:
$ docker run -ti --rm \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e QT_X11_NO_MITSHM=1 \
yume190/kdevelop
(註:進去後要先 adduser )
剛剛看到 KDevelop 官網有提供 AppImage 可以直接下載。
我還沒測試能否使用。不過如果問題出在 container 和 host 的 x11 問題上,
可能還是無法使用。
非常感謝 galic 大的熱心幫忙!
等等!突然想到如果我用 VNC/ssh -X 等方式而不是用 -v /tmp/.X11-unix
能否執行呢?(我還不會用 -v 之外的方法,所以先隨口問了。)
※ 編輯: sppmg (36.231.173.247), 11/08/2017 23:47:50
推
11/10 23:48,
8年前
, 17F
11/10 23:48, 17F
Linux 近期熱門文章
21
56
PTT數位生活區 即時熱門文章