3
ฉันจะอนุญาตให้แอป SDL (ไม่ทำงานในฐานะรูท) ใช้คอนโซลได้อย่างไร
ฉันต้องการใช้โปรแกรมที่ใช้ SDL เพื่อแสดงกราฟิกบนคอนโซลโดยไม่ต้องเข้าสู่ระบบจากคอนโซลและไม่เรียกใช้โปรแกรมเป็นรูท ตัวอย่างเช่นฉันต้องการที่จะสามารถเรียกใช้ผ่านทาง ssh ระบบปฏิบัติการเป้าหมายคือ raspbian นี่เป็นตัวอย่างสั้น ๆ ใน python เพื่อแสดงปัญหา: import os, pygame os.environ['SDL_VIDEODRIVER'] = 'fbcon' pygame.init() s = pygame.display.set_mode() print "Success" ใช้งานได้ (ทำงานจนเสร็จสมบูรณ์ไม่ส่งข้อยกเว้น) ถ้าฉันเรียกใช้จากคอนโซลและทำงานผ่าน ssh ถ้าฉันเรียกใช้เป็นรูต ฉันตรวจสอบแล้วว่าผู้ใช้ของฉันอยู่ในกลุ่มเสียงและวิดีโอ ฉันใช้ strace เพื่อดูความแตกต่างระหว่างการเรียกใช้จากคอนโซล (ซึ่งใช้งานได้) การใช้งานเป็น root ผ่าน ssh (ยังใช้งานได้) และใช้งานในฐานะผู้ใช้ทั่วไปผ่าน ssh (ไม่ทำงาน) ข้อแตกต่างแรกคือผู้ใช้ของฉันไม่ได้รับอนุญาตให้เข้าถึง / dev / tty0 ฉันสร้างกลุ่มใหม่ (tty0) ใส่ผู้ใช้ของฉันในกลุ่มนั้นและเพิ่มกฎ …