ตามปกติแล้วเซสชัน X11 มักจะเริ่มในโหมด "ส่วนตัว" ดังนั้นคุณต้องมีสองสิ่ง: การทำงานร่วมกันจากuser2
เพื่อให้คุณสามารถเข้าถึงหน้าจอของพวกเขาหรือสิทธิ์ผู้ใช้ระดับสูงเพื่อ "บุกเข้า" ไปยังหน้าจอของพวกเขา
อันตราย:โปรดจำไว้ว่าเมื่อคุณเข้าถึงหน้าจอของพวกเขาแล้วคุณสามารถทำสิ่งต่าง ๆ เช่นการจับภาพการกดแป้นพิมพ์ (อาจรวมถึงรหัสผ่าน) และจับภาพหน้าจอดังนั้นนี่จึงเป็นความเสี่ยงด้านความปลอดภัยขนาดใหญ่
ในกรณีส่วนใหญ่ควรใช้เครื่องมือส่งข้อความหรือโปรแกรมแชทแทนสิ่งเหล่านี้แทน
คำเตือน:
ความร่วมมือ
หากuser2
ต้องการอนุญาตให้user1
เข้าถึงหน้าจอของพวกเขาก่อนอื่นuser2
ต้องออกคำสั่งเช่น:
xhost +si:localuser:user1
สิ่งนี้อาจถูกเพิ่มเข้าไปในสคริปต์เริ่มต้นบางชนิด; ฉันไม่รู้จัก Fluxbox แต่ฉันคิดว่ามันมีrc
ตะขอเริ่มหรือเซสชัน
เมื่อสิ่งนี้ได้รับการเผยแพร่user1
แล้วสามารถเขียนไปยังuser2
จอแสดงผลของหากพวกเขาสามารถหาได้
หากuser2
ตระหนักถึงสิ่งนี้พวกเขาสามารถส่งไปยังuser1
วิธีอื่นได้เสมอ
การค้นหาดิสเพลย์ของผู้ใช้รายอื่น
บนเวิร์กสเตชันทั่วไปเป็นเรื่องปกติที่จะมีผู้ใช้มากกว่าหนึ่งหรือสองคนเข้าสู่ระบบ ในกรณีนี้ "คาดเดา" ว่าจอแสดงผลที่คุณต้องการคือ 0, 1 หรืออาจเป็น 2 อาจเป็นวิธีแก้ปัญหาที่ใช้การได้
อย่างไรก็ตามสำหรับโซลูชันที่สมบูรณ์ยิ่งขึ้นสมมติว่าคุณมีเครื่องที่ผู้ใช้จำนวนมากสามารถลงชื่อเข้าใช้และลองค้นหาเครื่องที่คุณต้องการ
for proc in /proc/[0-9]*/
do
if [ Xorg = $(< $proc/comm ) ] 2>/dev/null && \
[ $(id -u user2) -eq $(< $proc/loginuid) ] 2>/dev/null
then
for subproc in $(
do
echo "user2 display=" $(perl -ne 'if (m,DISPLAY=(.*)\0,) { print $1 }' < $subproc/environ)
done
fi
done
จากนั้นuser1
ในที่สุดก็สามารถ (ใช้ค่า DISPLAY ที่ได้รับด้านบน; ฉันเพิ่งเขียน:14.0
ที่นี่ ... )
DISPLAY=:14.0 xmessage "Hello, user2"
ส่งการแจ้งเตือนแทน
เพื่อผลประโยชน์ของความสมบูรณ์, อย่างน้อยงานต่อไปนี้บนเดสก์ท็อป Gnome ฉันไม่รู้ว่า Fluxbox มีวิดเจ็ตการแจ้งเตือนหรือไม่
DISPLAY=:14.0 notify-send "Hello, user2"
นี่เป็นตัวเลือกที่ใช้งานง่ายมากสำหรับการแสดงผลและอาจปรากฏขึ้นในลักษณะที่ค่อนข้างเป็นมิตรบนหน้าจอของผู้ใช้
user1
ในตัวอย่างของฉัน) เข้าสู่ระบบ X11 และยังไม่ได้เปิดxterm
หรือเทอร์มินัลอื่น - จะwall
ทำงานด้วยหรือไม่ ฉันคิดว่าuser1
จะไม่เห็นข้อความ