ฉันสามารถตรวจจับว่ามีการแสดงผลที่สองในเชลล์สคริปต์หรือการตั้งค่า Conky ได้หรือไม่?


3

ฉันต้องการแก้ไขตำแหน่งที่สะดวกสบายของฉันขึ้นอยู่กับว่าฉันทำงานกับแล็ปท็อปของฉันในรอบ (หน้าจอเดียว) หรือวางไว้ที่โต๊ะทำงานของฉันติดกับจอภาพขนาดใหญ่ (จอแสดงผลคู่)

ปัญหาคือฉันต้องการให้มันปรากฏที่ด้านล่างซ้ายของหน้าจอแล็ปท็อปของฉันไม่ว่าจะเกิดอะไรขึ้น แต่ด้วยการตั้งค่าการแสดงผลคู่ของฉัน "ด้านล่างซ้าย" จะเกิดขึ้นบนจอภาพภายนอกของฉัน

ดูเหมือนว่ามีสองวิธี:

  • เพิ่มคำสั่ง if / else ให้กับสคริปต์ที่ฉันใช้เพื่อเรียกใช้ conky (conky.sh) ที่เรียกใช้ไฟล์กำหนดค่าอื่นตามการจัดเรียงจอแสดงผลของฉัน

  • เพิ่มคำสั่ง if / else ให้กับ conky config ของฉันที่ตั้งค่าการจัดตำแหน่งหรือค่าการเยื้องขึ้นอยู่กับการจัดเรียงการแสดงผล

(และใช่ฉันรู้ว่าอย่างน้อยรุ่น shell นั้นจะทำงานได้ก็ต่อเมื่อฉันเสียบปลั๊ก / ถอดปลั๊กเมื่อเปิด conky ฉันสามารถอยู่กับมันได้

แต่ ... ฉันไม่รู้ด้วยซ้ำว่าจะตรวจจับการแสดงผลสองจอหรือจอที่สองในแบบทุบตีหรือทะลึ่ง


คุณเคยทำงานนี้ไหม ถ้าเป็นเช่นนั้นคุณสามารถแบ่งปันการกำหนดค่าของคุณหรือไม่
crypdick

คำตอบ:


3

คำแนะนำของนาธานข้างต้นจะให้ผลลัพธ์เดียวกันภายใต้สถานการณ์ทั้งหมดเช่น xrandr คำสั่งให้ข้อมูลเกี่ยวกับการแสดงผลทั้งหมด ( เชื่อมต่อ / ตัดการเชื่อมต่อ )

รหัสนี้จะทำงาน:

$ xrandr | grep -sw 'connected' | wc -l

หมายเหตุ: ไม่ใช่ความคิดของฉัน ฉันเพิ่งรวมข้อเสนอแนะของนาธานและ นี้ .


ในกรณีนี้คุณไม่จำเป็นต้อง -s flag (หรือเครื่องหมายคำพูดเดี่ยว)
Anthony Geoghegan

1

คุณสามารถใช้ xrandr และ grep เพื่อตรวจสอบจอภาพที่เชื่อมต่อ จากนั้นใช้ wc -l เพื่อนับจำนวนบรรทัดที่ถูกส่งคืน

ลองสิ่งนี้ในเทอร์มินัล:

xrandr | grep connected | wc -l
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.