এই নির্দেশাবলী কোনও ভিএনসি ক্লায়েন্টের মাধ্যমে ট্যাবলেট বা যেকোন কম্পিউটার ব্যবহার করে আপনার লিনাক্স মেশিনের জন্য একটি "অতিরিক্ত" স্ক্রিন তৈরি করুন।
আমি Mageia3 32Bit এ এই পদক্ষেপগুলি তৈরি করেছি (64 বিট চেষ্টা করে দেখিনি) তবে অন্যান্য ডিস্ট্রোদের জন্যও (যেমন উবুন্টু) একই রকম হওয়া উচিত।
নিম্নলিখিত টার্মিনাল কমান্ড সহ আপনার প্রয়োজনীয় সমস্ত প্যাকেজ রয়েছে তা নিশ্চিত করুন:
sudo apt-get install gcc autoconf automake x11-font-util libtool libxi-devel ibopenssl-devel libxfont1-devel libpam-devel x11-util-macros x11-xtrans-devel x11-server-xvfb x11-server-xdmx x11-server-devel x11-server-source
উপরের সমস্ত প্যাকেজগুলি হয়ে গেলে, এই আদেশগুলি জারি করুন:
cd /usr/share/x11-server-sources/
./autogen.sh
./configure --with-fontrootdir=/usr/share/fonts --with-xkb-path=/usr/share/X11/xkb --with-xkb-output=/usr/share/X11/xkb/compiled --enable-dmx
make
যদি আপনি কোনও ত্রুটি না পান তবে এক্সডিএমএক্স প্যাচ করুন (সহজভাবে বলতে গেলে এটি কিছু সময়ের জন্য "ভেঙে গেছে"):
/usr/share/x11-server-sources/hw/dmx/input/dmxevents.c
730 খুলুন এবং পরিবর্তন করুন: এটি পরিবর্তন করুন:
POINTER_ABSOLUTE | POINTER_SCREEN, &mask);
এটি:
POINTER_RELATIVE | POINTER_DESKTOP, &mask);
আইএফ লাইন 730 পৃথক হলে সঠিক লাইনটি অনুসন্ধান করতে এই বিভাগটি ব্যবহার করুন: অরজিনাল বিভাগ - পরিবর্তিত লাইনের সাথে চিহ্নিত *
case ButtonPress:
case ButtonRelease:
detail = dmxGetButtonMapping(dmxLocal, detail);
valuator_mask_zero(&mask);
QueuePointerEvents(p, type, detail,
* POINTER_RELATIVE | POINTER_DESKTOP, &mask);
return;
চলমান দ্বারা Xdmx সংস্করণটি পরীক্ষা ./configure --version
মধ্যে /usr/share/x11-server-source/
জন্য, Xdmx 1.13 এবং বয়স্ক আপনার কাছে এই পরিবর্তনগুলি করার আছে (1.14 জন্য এবং নতুন আপনি "করতে" ধাপে নীচে এড়িয়ে যেতে পারেন):
খোলা /usr/share/x11-server-sources/dix/getevents.c
, লাইন 1395: এটি পরিবর্তন করুন:
if (flags & POINTER_SCREEN ) { /* valuators are in screen coords */
এটি:
if (flags & ( POINTER_SCREEN | POINTER_DESKTOP) ) { /* valuators are in screen coords */
(মূল বিভাগ - * দিয়ে চিহ্নিত চিহ্ন পরিবর্তন করার জন্য রেখা)
/* valuators are in driver-native format (rel or abs) */
if (flags & POINTER_ABSOLUTE) {
* if (flags & POINTER_SCREEN ) { /* valuators are in screen coords */
sx = valuator_mask_get(&mask, 0);
sy = valuator_mask_get(&mask, 1);
খোলা /usr/share/x11-server-sources/Xext/xtest.c
, লাইন 311: এটি পরিবর্তন করুন:
flags = POINTER_ABSOLUTE | POINTER_SCREEN;
এটি:
flags = POINTER_ABSOLUTE | POINTER_DESKTOP;
(মূল বিভাগ - * চিহ্নিত করে পরিবর্তন করার জন্য রেখা)
case MotionNotify:
dev = PickPointer(client);
valuators[0] = ev->u.keyButtonPointer.rootX;
valuators[1] = ev->u.keyButtonPointer.rootY;
numValuators = 2;
firstValuator = 0;
if (ev->u.u.detail == xFalse)
* flags = POINTER_ABSOLUTE | POINTER_DESKTOP;
break;
/usr/share/x11-server-sources/include/input.h
, লাইন 73: লাইনটি শুরু হওয়ার পরে এই লাইনটি যুক্ত করুন #define POINTER_EMULATED
:
#define POINTER_DESKTOP (1 << 7)
উপরের পরিবর্তনগুলি করার পরে, পুনরায় সম্পাদন করুন (ইন /usr/share/x11-server-sources/
):
make
আপনার একটি নতুন এক্সডিএমএক্স ফাইল থাকা উচিত /usr/share/x11-server-sources/hw/dmx/
। স্বাচ্ছন্দ্যের জন্য আমাদের এটি বিশ্বব্যাপী ইনস্টল করা দরকার, তাই আমি আপনার বিদ্যমানটির নামকরণের পরামর্শ দিই:
sudo mv /bin/Xdmx /bin/Xdmx-old
এবং এটির জায়গায় নতুনটি অনুলিপি করুন:
cp /usr/share/x11-server-sources/hw/dmx/Xdmx /bin
এখন আপনি আপনার প্রথম ট্রায়াল করতে প্রস্তুত, নিম্নলিখিত কমান্ডগুলি আপনাকে আপনার মূল / বিদ্যমান প্রদর্শন ( :0
) চালিয়ে যাওয়ার এবং মাল্টি-মনিটরের সহায়তায় একটি নতুন ডিসপ্লে খুলতে দেয়। এটিকে আরও হালকা করে তুলতে আমি এই কমান্ডগুলির সাথে আইসউইএম ব্যবহার করছি (আমি আমার মূল প্রদর্শনীতে কে.ডি. ব্যবহার করি :0
এবং নতুন মাল্টি-হেড ডিসপ্লেতে কোনও বৃহত-মাল্টি-মনিটরের অ্যাপ্লিকেশনটি খুলি)। আপনি সহজেই ব্যবহারের স্বাচ্ছন্দ্যের জন্য এই কমান্ডগুলি স্ক্রিপ্ট করতে পারেন (এটি আমি যা করেছি) - এই কমান্ডগুলির যে কোনও একটি কোনও ডিসপ্লের কনসোল এবং / অথবা টার্মিনাল উইন্ডোতে কার্যকর করা যেতে পারে, কেবলমাত্র প্রয়োজনটি সেগুলি কার্যকরভাবে কার্যকর করা হয়।
এই কমান্ডটি আপনার ভিএনসি প্রদর্শনের জন্য ফ্রেম বাফার হিসাবে আপনার নতুন ডিসপ্লে তৈরি করে :2
(স্ক্রিনের আকারটি পছন্দমতো সামঞ্জস্য করুন):
Xvfb :2 +xinerama -screen 0 1024x1280x24 -ac &
এটি আপনার শারীরিক ডিসপ্লেতে প্রদর্শন হিসাবে একটি নতুন লাইটওয়েট এক্স সেশন শুরু করে :1
(এটি করার বিভিন্ন উপায় রয়েছে):
startx 'icewm' -- :1
এই কমান্ডটি আপনার শারীরিক স্ক্রিন এবং ভার্চুয়াল স্ক্রিনের মধ্যে একাধিক প্রদর্শন শুরু করে এবং উইন্ডো ম্যানেজারের জন্য আইসডব্লিউ শুরু করে:
Xdmx :3 +xinerama -display :1 -display :2 -norender -noglxproxy -ac & DISPLAY=:3 starticewm
এখন একটি টার্মিনাল উইন্ডো খুলুন এবং ভিএনসি সার্ভার শুরু করুন (পছন্দসই পাসওয়ার্ড পরিবর্তন করুন):
x11vnc -display :3 -passwd test -clip xinerama1 -noshm -forever -nowireframe &
এখনই কেবল আপনার ভিএনসি ক্লায়েন্টকে আগুন জ্বালিয়ে আপনার ভিএনসির সাথে সংযোগ স্থাপন করা দরকার - আপনার ফায়ারওয়ালটি 5900 পোর্টে অক্ষম করতে বা একটি ব্যতিক্রম যুক্ত করতে পারে যাতে আপনি এটিতে সংযোগ রাখতে পারেন। আরেকটি বিষয় মনে রাখবেন যে কিছু ভিএনসি ক্লায়েন্ট দূরবর্তী কার্সার অবস্থানটি প্রদর্শন করে না, আমি শংসাপত্র দিয়েছি যে আইওএসের জন্য "মোচা ভিএনসি" দুর্দান্ত কাজ করে যদি আপনি "স্থানীয় মাউস" বিকল্পটি বন্ধ করেন।
আপনার প্রধান মনিটর এবং আপনার নতুন ভার্চুয়াল দ্বিতীয় মনিটরের মধ্যে উইন্ডোজ টেনে আনতে উপভোগ করুন (দ্বিতীয় মনিটরের জিনিসগুলিতে ক্লিক / টাইপ করতে ট্যাবলেটটি ব্যবহার করতে সক্ষম হবেন)।
এক্সডিএমএক্স বন্ধ করতে Ctrl+ Alt+ Backspaceদুবার টিপুন ।
অটোমেশন:
পুরো প্রক্রিয়াটি শুরু করতে আমি এই ব্যাশ স্ক্রিপ্টটি ব্যবহার করি (প্রস্থানের সময় এক্সভিএফবিকেও মেরে ফেলে):
Xvfb :2 +xinerama -screen 0 1024x1280x24 -ac &
xinit dual -- :1
ps | grep Xvfb | awk '{print $1}' | xargs kill
তারপরে ~/.xinitrc
এটির সাথে আমার একটি কাস্টম ফাইল রয়েছে:
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
if [[ $1 == "" ]]
then
exec startkde
elif [[ $1 == "xterm" ]]
then
exec xterm
elif [[ $1 == "dual" ]]
then
exec Xdmx :3 +xinerama -display :1 -display :2 -norender -noglxproxy -ac & DISPLAY=:3 starticewm & x11vnc -display :3 -passwd test -clip xinerama1 -noshm -forever -nowireframe
else
exec $1
fi
সমস্যা সমাধান:
এক্সডিএমএক্স চলার সময় যদি আপনার কোনও ত্রুটি পেয়ে থাকে তবে আপনাকে sh: /usr/local/bin/xkbcomp: No such file or directory
মৃত্যুদন্ড কার্যকর করার প্রয়োজন হতে পারে cd /usr/local/bin" and "ln -s /bin/xkbcomp
:, আবার এক্সডিএমএক্স চেষ্টা করুন।
Ctrl+ + Alt+ + F1মাধ্যমে F7Xdmx কাজ করার অন্যান্য কনসোল / xsessions কিন্তু কিছু কারণে এটা কাজ করে না জন্য স্যুইচ করতে, আমি কি কেবল চালানো হয় অনুমিত হয় sudo chvt X
(যেখানে এক্স একটি কনসোল / xsession সংখ্যা লিখুন) আমার মূল প্রদর্শন স্যুইচ। এছাড়াও আপনি যখন এক্সডিএমএক্সে ফিরে যান আপনি কোনও খোলা উইন্ডোতে কিছু অঙ্কনের সমস্যা পেতে পারেন, আমি আবার উইন্ডোটি আড়াল / প্রদর্শন করতে টাস্কবারে ক্লিক করে আবারও একটি পুনরায় আঁকতে বাধ্য করি।