আপনি যেমন বলেছেন যে আপনি ওয়েল্যান্ডের সাথে ফেডোরা 25 চালাচ্ছেন, আমি ধরে নিচ্ছি আপনি জিনোম-ওয়েল্যান্ড ডেস্কটপ ব্যবহার করছেন।
এক্স অ্যাপ্লিকেশন সমর্থন করার জন্য জিনোম-ওয়েল্যান্ড Xwayland চালায়। আপনি জোরগোর সাথে আগের মতো এক্সওয়েল্যান্ড অ্যাক্সেস ভাগ করে নিতে পারেন।
আপনার উদাহরণ কমান্ড মিস করেছে XAUTHORITY
এবং আপনি উল্লেখ করেন না xhost
। ডকারে থাকা এক্স অ্যাপ্লিকেশনগুলিকে এক্সওয়েল্যান্ড (বা যে কোনও এক্স) অ্যাক্সেস করার অনুমতি দেওয়ার জন্য আপনার এই উপায়গুলির একটি দরকার। এগুলি সমস্ত ওয়েল্যান্ডের সাথে সম্পর্কিত নয় বলে আমি উল্লেখ করি আপনি কীভাবে ডকার পাত্রে জিইউআই অ্যাপ্লিকেশন চালাবেন? কীভাবে ডকারে এক্স অ্যাপ্লিকেশন চালানো যায় সে সম্পর্কে
সংক্ষেপে হিসাবে, xhost সহ দুটি সমাধান:
- Xhost এর মাধ্যমে আপনার স্থানীয় ব্যবহারকারীর অ্যাক্সেসের অনুমতি দিন:
xhost +SI:localuser:$(id -un)
এবং ডকার রান অপশন সহ একটি অনুরূপ ব্যবহারকারী তৈরি করুন:--user=$(id -u):$(id -g)
- নিরুৎসাহিত: এর সাথে এক্সে রুট অ্যাক্সেসের অনুমতি দিন
xhost +SI:localuser:root
সংশ্লিষ্ট ফাঁদ : এক্স স্বাভাবিকভাবে ভাগ করা মেমোরি (এক্স এক্সটেনশন ব্যবহার MIT-SHM
)। ডকারের ধারকগুলি বিচ্ছিন্ন এবং ভাগ করা মেমরির অ্যাক্সেস করতে পারে না। এটি রেন্ডারিং গিটচি এবং র্যাম অ্যাক্সেস ব্যর্থতার দিকে নিয়ে যেতে পারে। আপনি ডকার রান অপশন সহ এড়াতে পারেন --ipc=host
। IPC নেমস্পেসিং অক্ষম করার সাথে সাথে ধারক বিচ্ছিন্নতা প্রভাবিত করে। তুলনা করুন: https://github.com/jessfraz/dockerfiles/issues/359
চালানোর জন্য Wayland ছাড়া এক্স Docker মধ্যে অ্যাপ্লিকেশন, আপনি gnome-Wayland বা ওয়েস্টন মত একটি চলমান Wayland কম্পোজিটার প্রয়োজন। আপনাকে ওয়েল্যান্ড সকেট ভাগ করতে হবে। আপনি এটি খুঁজে পেয়েছেন XDG_RUNTIME_DIR
এবং এর নামটি সঞ্চিত আছে WAYLAND_DISPLAY
। যেমন XDG_RUNTIME_DIR
কেবল তার মালিকের অ্যাক্সেসের অনুমতি দেয়, আপনার হোস্টের মতো ধারকটিতে একই ব্যবহারকারীর প্রয়োজন। উদাহরণ:
docker run -e XDG_RUNTIME_DIR=/tmp \
-e WAYLAND_DISPLAY=$WAYLAND_DISPLAY \
-v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:/tmp/$WAYLAND_DISPLAY \
--user=$(id -u):$(id -g) \
imagename waylandapplication
কিউটি 5 অ্যাপ্লিকেশনগুলিরও প্রয়োজন -e QT_QPA_PLATFORM=wayland
এবং এটি দিয়ে শুরু করা আবশ্যকimagename dbus-launch waylandapplication
এক্স এবং ওয়েল্যান্ড অ্যাপ্লিকেশনগুলির জন্য ডকারে এক্স 11 ডকার হ'ল একটি সমাধান in এটি ধারক বিচ্ছিন্নতা সংরক্ষণের বিষয়েও যত্নশীল (এটি উদাহরণস্বরূপ হোস্ট এক্স ডিসপ্লের সাথে ভাগ করে নিলে তা হারিয়ে যায়)।
/run/user/1000/wayland-0
আমার ব্যক্তিগত ডেস্কটপের জন্য রয়েছে।