คำถามติดแท็ก d-bus

ระบบบัสข้อความวิธีง่ายๆสำหรับการสื่อสารระหว่างกระบวนการ นอกจากนี้ยังช่วยประสานวงจรชีวิตของกระบวนการ

4
รายการบริการ DBus ที่มีอยู่
มีรายการดังกล่าวในรายการบริการ DBus ที่มีอยู่หรือไม่? ฉันเคยเจอบางอย่าง (เช่นที่ได้รับจาก NetworkManager, Rhythmbox, Skype, HAL) ฉันสงสัยว่าฉันสามารถหารายการบริการ / อินเตอร์เฟสที่จัดเตรียมไว้ค่อนข้างสมบูรณ์หรือไม่
65 linux  d-bus  ipc 

1
X, Xorg และ D-Bus: ความแตกต่างคืออะไร?
ในกระบวนการของการเรียนรู้ที่จะทำบางสิ่งในการเขียนโปรแกรม GUI (เช่นการจองพื้นที่บนหน้าจอสำหรับแอปพลิเคชัน) ฉันต้องเรียนรู้เพิ่มเติมเกี่ยวกับ Window Manager โดยปกติคือ X11 บน Linux (ฉันไม่แน่ใจว่ามีของ distro ซึ่งใช้อย่างอื่นนอกเหนือจาก X11 ถึงแม้ว่าฉันเคยได้ยินเกี่ยวกับWaylandซึ่งยังไม่ได้นำมาใช้เลย) ฉันค่อนข้างใหม่กับการเขียนโปรแกรมและใจร้อน ดังนั้นฉันแค่ดำน้ำเข้าไป ตอนนี้ฉันกำลังอ่าน ICCCM ด้วยความหวังว่าจะได้เรียนรู้เพิ่มเติม อย่างไรก็ตามเอกสารนี้มีจุดมุ่งหมายเพื่อสาธารณะที่รู้ (ทาง) มากกว่าฉัน ดังนั้นฉันจึงพบข้อมูลบางอย่างและฉันชอบที่จะรับการชี้แจงบางอย่าง ส่วนที่ 2ของคำพูดของ ICCCM: โปรดทราบว่าข้อมูลทั้งหมดที่ถ่ายโอนระหว่างเจ้าของและผู้ร้องขอจะต้องผ่านเซิร์ฟเวอร์ในสภาพแวดล้อม X Version 11 ลูกค้าไม่สามารถคิดได้ว่าลูกค้ารายอื่นสามารถเปิดไฟล์เดียวกันหรือแม้กระทั่งสื่อสารโดยตรง ไคลเอ็นต์อื่นอาจกำลังพูดคุยกับเซิร์ฟเวอร์โดยใช้กลไกเครือข่ายที่แตกต่างกันโดยสิ้นเชิง (ตัวอย่างเช่นไคลเอ็นต์หนึ่งอาจเป็น DECnet และ TCP / IP อื่น) ดังนั้นการส่งผ่านการอ้างอิงทางอ้อมไปยังข้อมูล (เช่นชื่อไฟล์ชื่อโฮสต์และหมายเลขพอร์ตและอื่น ๆ ) จะได้รับอนุญาตเฉพาะในกรณีที่ลูกค้าทั้งสองตกลงกันเป็นพิเศษ เท่าที่ฉันเข้าใจ X Window Manager สร้างขึ้นบนสุดของ …

2
สามารถเปลี่ยน / etc / machine-id ได้ไหม
ฉันโคลนดิสก์ (SSD) และนำดิสก์ที่โคลนไปไว้ในเครื่องอื่น /etc/machine-idตอนนี้ทั้งสองระบบมีค่าเดียวกันใน เป็นปัญหาหรือไม่เพียงแค่แก้ไข/etc/machine-idเพื่อเปลี่ยนค่า ฉันสามารถทำได้ในขณะที่ระบบกำลังทำงาน (หรือฉันต้องบูตจาก Live USB) หรือไม่? เป็นsystemd-machine-id-setupทางเลือกที่ดีกว่า? การใช้งานที่ไร้เดียงสาsystemd-machine-id-setupไม่ทำงาน ฉันลองทำตามขั้นตอนเหล่านี้: nano /etc/machine-id (to remove the existing value) systemd-machine-id-setup > Initializing machine ID from D-Bus machine ID. cat /etc/machine-id ค่าใหม่เหมือนกันกับค่าเก่า
33 systemd  d-bus 

5
dbus: [ระบบ] ไม่สามารถเปิดใช้งานบริการ 'org.freedesktop.login1': หมดเวลา
ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้ใน syslog ของหนึ่งในเซิร์ฟเวอร์ของฉัน: # tail /var/log/syslog Oct 29 13:48:40 myserver dbus[19617]: [system] Failed to activate service 'org.freedesktop.login1': timed out Oct 29 13:48:40 myserver dbus[19617]: [system] Activating via systemd: service name='org.freedesktop.login1' unit='dbus-org.freedesktop.login1.service' Oct 29 13:49:05 myserver dbus[19617]: [system] Failed to activate service 'org.freedesktop.login1': timed out Oct 29 13:49:05 myserver dbus[19617]: [system] …
25 linux  debian  d-bus  proftpd 

3
เอกสารประกอบ: สถาปัตยกรรมของ Linux Session
ฉันกำลังมองหาเอกสารภาพรวมที่ดีซึ่งอธิบายถึงกอง daemons และบริการที่เกี่ยวข้องในเซสชัน Linux ที่ทันสมัย แม้ว่าจะได้อ่านเอกสารต่าง ๆ เกี่ยวกับdbusและsystemdฉันยังไม่ได้รับภาพรวม โดยเฉพาะอย่างยิ่งฉันกำลังมองหาคำตอบสำหรับคำถามเหล่านี้ (ไม่ตอบคำถามพวกเขาควรจะอธิบายเฉพาะเอกสารที่ฉันกำลังมองหา): หลังจากเข้าสู่ระบบกระบวนการใดเป็นรูทของเซสชันของผู้ใช้ ควรเริ่มกระบวนการใดและทำไม ฉันกำลังมองหาคำตอบที่ไม่เชื่อเรื่องพระเจ้าบนเดสก์ท็อปไม่ว่า Gnome, KDE, FVWM หรือเชลล์แบบธรรมดาจะเริ่มทำงาน daemons ทั้งหมดนี้มีบทบาทอย่างไร ข้อใดจะวิ่งคนเดียวซึ่งขึ้นอยู่กับคนอื่น ควรเริ่มต้นแบบใดโดยใครทำไมและนานเท่าไร และใครควรดูแลสวนสัตว์แห่งนั้น ฉันขอเพราะฉันพบว่าฉันมีสวนสัตว์ทั้งภูตทำงานทันทีหลังจากที่บูต: systemd-journald, systemd-udevd, ,dbus-daemon systemd-logindแต่ไม่เพียงพอที่: นอกเหนือจากนี้วิ่งน้ำหนักเบาเป็นพิเศษรูปแบบไฟล์ PDF โปรแกรมดูzathura เพิ่มเติม populates เซสชั่นของฉันกับdbus-launch, dbus-daemon, at-spi2-registrydและที่ยังไม่เปิดตัวหลังอีกat-spi-bus-launcher dbus-daemonไม่เคยมีใครมาก่อนไม่มีผู้ได้รับเชิญ แต่พวกเขาจะอยู่รอบ ๆ บ้านให้ความรู้สึกน่ากลัวจนฉันออกจากระบบ ฉันแน่ใจว่าฉันพลาดบางสิ่งที่นี่ ... อีกตัวอย่าง: หลังจากเข้าสู่ระบบฉันมีการsystemdทำงานกับผู้ใช้ของฉันโพสต์ แต่ฉันไม่รู้ว่ามันควรจะทำอะไร (ตั้งแต่รุ่น 206 ฉันคิดว่าฉันไม่ควรใช้มันในฐานะผู้จัดการเซสชั่นใช่มั้ย) มันมีกระบวนการลูก(sd-pam)ซึ่งฉันหาเอกสารเกี่ยวกับไม่สำเร็จ พวกเขาทำอะไร? แนวคิดเบื้องหลังการตั้งค่านี้คืออะไร …

1
ใช้เซสชัน D-Bus ซ้ำระหว่างเซสชันการเข้าสู่ระบบ
ฉันเข้าถึงเครื่องผ่านการเข้าสู่ระบบหลายครั้ง อายุการใช้งานของเซสชันอาจหรือไม่ทับซ้อนกัน ในกรณีของฉันเซสชันการลงชื่อเข้าใช้เหล่านี้มักจะผ่าน SSH เสมอ แต่ฉันต้องการจัดการเซสชันในท้องถิ่นด้วย บางครั้งผมต้อง D-Bus ในการประชุมเหล่านี้และฉันต้องการแบ่งปันเซสชั่น D-Bus เดียวกันในการประชุมเข้าสู่ระบบเหล่านี้เพื่อใช้ GVFS วิธีที่แนะนำให้ทำคืออะไร? ฉันไม่ต้องการทำลายการใช้งาน D-Bus ใด ๆ ที่ฉันอาจไม่ทราบ ฉันถือว่าใช้แล้ว export $(dbus-launch --autolaunch $(cat /var/lib/dbus/machine-id)) แต่ (ตั้งแต่ Ubuntu 12.04) สิ่งนี้ดูไม่ถูกต้อง: นี้ต้องเซสชั่น X แต่การประชุม SSH ของฉันอาจจะหรืออาจไม่ได้รับการส่งต่อการแสดงผล X, และแม้กระทั่งคนที่ไม่ได้มีเหมือนกัน$DISPLAY; หากไม่มีจอแสดงผล X ให้ใช้งานdbus-launchบ่นว่า“ ข้อผิดพลาดอัตโนมัติ: การเริ่มต้น X11 ล้มเหลว” และไม่เริ่มดีมอน dbus-launchรัฐหน้าคนว่า“ --autolaunchตัวเลือกที่มีการพิจารณารายละเอียดการดำเนินงานภายใน ( ... ) ไม่มีเหตุผลจริงที่จะใช้นอกเหนือจากการใช้งาน …
20 session  d-bus 

1
ทำไมฉันต้องใช้ dbus
ฉันเพิ่งลบ dbus ออกจากระบบของฉัน (พร้อมด้วย consolekit และ polkit) ฉันไม่ได้สังเกตเห็นการเปลี่ยนแปลงใด ๆ (ฉันเรียกใช้เป็น daemon ระบบและต่อผู้ใช้จาก. xinitrc) อย่างไรก็ตามหลายคนอ้างว่าเพียงแค่ต้องการ dbus แอปพลิเคชัน linux ส่วนใหญ่ใช้งานมัน ฯลฯ คำถามของฉันคือทำไมฉันต้องใช้มัน? ฉันไม่คิดว่าฉันเข้าใจว่ามันทำอะไรกันแน่ ฉันรู้ว่าเป็น "ระบบบัสข้อความ" ซึ่งเป็นกระบวนการสื่อสารผ่านมันเป็นต้นและ? ฉันยังไม่รู้ว่าฉันจะได้อะไรจากการใช้มัน มีใครช่วยอธิบายให้ฉันหน่อยได้ไหมโดยเฉพาะอย่างยิ่งกับตัวอย่าง "จากชีวิตจริง"
17 linux  process  d-bus 

5
เรียกใช้โปรแกรม dbus ใน crontab จะทราบได้อย่างไรเกี่ยวกับ SESSION id
ฉันจำเป็นต้องเรียกใช้โปรแกรมบางอย่างภายใน crontab แต่โปรแกรมจะรู้เกี่ยวกับรหัสเซสชัน dbus ได้อย่างไร ใช้ได้เฉพาะกับโปรแกรมที่เปิดตัวโดยผู้จัดการเซสชันเท่านั้น
17 kde  d-bus 

5
จะแสดงรายการเส้นทางของวัตถุทั้งหมดภายใต้บริการ dbus ได้อย่างไร
นี่คือคำถามที่ติดตามรายการของบริการ DBus ใช้ได้ รหัสหลามต่อไปนี้จะแสดงรายการบริการ DBus ที่มีอยู่ทั้งหมด import dbus for service in dbus.SystemBus().list_names(): print(service) เราจะแสดงรายการเส้นทางวัตถุภายใต้บริการในหลามได้อย่างไร มันก็โอเคถ้าคำตอบไม่เกี่ยวข้องกับงูหลามแม้ว่ามันจะเป็นที่ต้องการ ฉันใช้ Ubuntu 14.04
16 python  d-bus  ipc 

1
การใช้งาน gnome-keyring โดยไม่มีเซสชัน x
กรณีการใช้งานของฉันคือฉันมีเซิร์ฟเวอร์ที่ไม่มีส่วนหัวที่ดำเนินการพัฒนาซอฟต์แวร์ ฉันเปิดใช้งานการส่งต่อ X11 สำหรับการเชื่อมต่อ SSH ตามปกติ แต่ฉันไม่สามารถทำได้สำหรับสถานที่ห่างไกลที่มีการเชื่อมต่อที่ช้า ฉันต้องการพื้นที่เก็บข้อมูลและแคชที่ปลอดภัยสำหรับข้อมูลประจำตัว git ของฉันเนื่องจากฉันทำงานกับที่เก็บ 18-20 ในต้นไม้เป็นประจำดังนั้นฉันจึงใช้ git-credential-gnome-keyring เป็น git credential.helper ซึ่งสื่อสารโดยใช้ libgnome-keyring ไปที่ gnome-keyring-daemon ในการทดสอบวิธีแก้ปัญหาฉันติดตั้งพีซีด้วยจอภาพยืนยันว่าพวงกุญแจทำงานตามค่าเริ่มต้นในระบบจากนั้นลองใช้ SSH มันใช้งานได้กับการส่งต่อ X11 แต่ไม่สามารถทำงานได้หากไม่มี เมื่อฉันเชื่อมต่อโดยไม่มีการส่งต่อ X11 ข้อผิดพลาดต่อไปนี้จะเกิดขึ้นเมื่อมีการสอบถามเกี่ยวกับการพวงกุญแจและเครื่องมือจะกลับไปที่การพร้อมท์บรรทัดคำสั่ง: ** (process:18305): CRITICAL **: Error communicating with gnome-keyring-daemon การสืบสวนพบว่าปัญหาพื้นฐานคือ gnome-keyring-daemon คาดว่าการเชื่อมต่อจะใช้ dbus เพื่อพูดคุยกับมัน dbus ไม่เริ่มทำงานหากไม่มีเซสชัน X11 ดังนั้นจึงไม่มีบัสบัสทั่วไปสำหรับ gnome-keyring-daemon และ libgnome-keyring เพื่อเชื่อมต่อ ฉันพบวิธีแก้ไขปัญหาสองวิธีที่ผู้อื่นโพสต์ไปที่ปัญหานี้ …

1
การพิสูจน์ตัวตนและการอนุญาต D-Bus
ฉันกำลังพยายามตั้งค่าการเข้าถึงระยะไกลไปยัง D-Bus และฉันไม่เข้าใจว่าการรับรองความถูกต้องและการอนุญาต (ไม่) ทำงานได้อย่างไร ฉันมีเซิร์ฟเวอร์ D-Bus ที่ฟังบนซ็อกเก็ตแบบนามธรรม $ echo $DBUS_SESSION_BUS_ADDRESS unix:abstract=/tmp/dbus-g5sxxvDlmz,guid=49bd93b893fe40d83604952155190c31 ฉันวิ่งdbus-monitorไปดูว่าเกิดอะไรขึ้น กรณีทดสอบของฉันคือnotify-send helloซึ่งทำงานเมื่อดำเนินการจากเครื่องท้องถิ่น จากบัญชีอื่นในเครื่องเดียวกันฉันไม่สามารถเชื่อมต่อกับรถบัสนั้นได้ otheraccount$ DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-g5sxxvDlmz,guid=49bd93b893fe40d83604952155190c31 dbus-monitor Failed to open connection to session bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, …

1
ไม่สามารถเปิดใช้งานบริการผู้ใช้ “ ล้มเหลวในการรับการเชื่อมต่อ D-Bus: การเชื่อมต่อถูกปฏิเสธ” การสนับสนุน
ฉันได้รับข้อผิดพลาดนี้เมื่อใช้คำสั่ง systemd ใด ๆ ในฐานะผู้ใช้: admin@Xroklaus:~ $ systemctl --user list-units Failed to get D-Bus connection: Connection refused หากไม่มีพารามิเตอร์ผู้ใช้คำสั่งจะทำงานได้ดี admin@Xroklaus:~ $ systemctl list-units UNIT LOAD ACTIVE SUB DESCRIPTION proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable File Formats File System Automount Point sys-devices-platform-soc-3f201000.serial-tty-ttyAMA0-hci0-rfkill1.device loaded active plugged /sys/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/rfkil sys-devices-platform-soc-3f201000.serial-tty-ttyAMA0-hci0.device loaded active plugged /sys/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0 ... …

2
โปรแกรม Gnome (eog / gnome-terminal) มีการเริ่มต้นที่ช้าและสร้าง DBus.Error.NoReply Warning
บางครั้งeogและgnome-terminalเริ่มช้ามากบน (X) Ubuntu 13.10 ของฉัน ฉันคิดว่าเครื่องมือ Gnome อื่น ๆ ได้รับผลกระทบเช่นกัน แต่ฉันไม่ได้ใช้เครื่องมืออื่น ตอนนี้ฉันได้รับorg.freedesktop.DBus.Error.NoReplyข้อผิดพลาดทุกครั้งที่gnome-terminalเริ่ม: ** (gnome-terminal: 5516): คำเตือน **: ข้อผิดพลาดในการดึงข้อมูลที่อยู่บัสสำหรับการเข้าถึง: org.freedesktop.DBus.Error.NoReply: ไม่ได้รับการตอบกลับ สาเหตุที่เป็นไปได้รวมถึง: แอปพลิเคชันระยะไกลไม่ได้ส่งการตอบกลับนโยบายความปลอดภัยบัสข้อความบล็อกการตอบกลับการหมดเวลาตอบกลับหมดอายุหรือการเชื่อมต่อเครือข่ายใช้งานไม่ได้ และทุกครั้งที่eogเริ่ม: ** (eog: 4996): คำเตือน **: เกิดข้อผิดพลาดในการเรียกที่อยู่บัสสำหรับการเข้าถึง: org.freedesktop.DBus.Error.NoReply: ไม่ได้รับการตอบกลับ สาเหตุที่เป็นไปได้รวมถึง: แอปพลิเคชันระยะไกลไม่ได้ส่งการตอบกลับนโยบายความปลอดภัยบัสข้อความบล็อกการตอบกลับการหมดเวลาตอบกลับหมดอายุหรือการเชื่อมต่อเครือข่ายใช้งานไม่ได้ (eog: 4996): EOG-WARNING **: ไม่สามารถโหลดไอคอน: ไอคอน 'การโหลดภาพ' ไม่ปรากฏในธีม ผมคิดว่ามันมีบางอย่างที่ทำกับฉันลบโปรแกรมบางอย่างที่เริ่มต้นโดยค่าเริ่มต้นรวมทั้งat-spi2-registrydซึ่งผมคิดว่าเป็นโครงการการเข้าถึงคำสอนของ ตามdpkg --getselections | grep spi, at-spi2-coreยังคงติดตั้งในระบบของฉัน ฉันจำได้ว่าทำสิ่งที่แฮ็ค / …

1
ผู้ใช้ systemd บริการ PulseAudio
ไม่มากสำหรับคำถามนี้: ฉันต้องการทราบว่าฉันต้องสร้างบริการ PulseAudio systemd เพื่อให้ทำงานsystemd --userได้อย่างไร ฉันได้ลองทำสิ่งต่าง ๆ รวมถึงบริการผู้ใช้จาก Google แต่ฉันไม่สามารถตั้งค่าได้ระหว่าง dbus กับทุกอย่างที่จำเป็นสำหรับมัน อัปเดต:ดูเหมือนว่าจะทำงานได้ดีกับเซสชันกราฟิก แต่ฉันยังคงมีความไม่สอดคล้องกับ dbus เมื่อลงชื่อเข้าใช้ผ่านคอนโซล แต่ PulseAudio เริ่มต้นได้อย่างน่าเชื่อถือดังนั้นฉันจึงไม่กังวลมากเกินไป

1
ฉันจะป้องกันการล็อกอินระยะไกลของ ssh ไม่ให้ทำลาย dbus ได้อย่างไร
ฉันใช้ openSUSE 11.3 ในเวิร์กสเตชันที่ทำงานภายใต้ KDE ฉันไม่สามารถเข้าถึงรูทได้ tcshเปลือกเริ่มต้นได้รับการตั้งค่าให้ เมื่อฉันเข้าสู่ระบบที่เวิร์กสเตชันของฉันและเข้าสู่ระยะไกลจาก MacBook ที่ใช้ OS X 10.6 โดยใช้sshดังนี้: ssh -X -C user@workstation.edu ทุกอย่างทำงานได้ดี อย่างไรก็ตามเมื่อฉันทำเสร็จแล้วฉันจะได้รับข้อผิดพลาด DBUS ในเซสชันเวิร์กสเตชันของฉันเมื่อใดก็ตามที่ฉันพยายามเปิดใช้งานสิ่งที่มี GUI รวมถึง แต่น่าเสียดายที่กล่องโต้ตอบออกจากระบบจากแผงแถบงาน ฉันเริ่มเบื่อstartkdeกับการออกจากระบบในสถานการณ์เหล่านี้ ออนไลน์ฉันได้พบคำแนะนำมากมายสำหรับการเชื่อมต่อกับเซสชัน dbus ที่มีอยู่โดยใช้ ssh แต่ฉันต้องการทำสิ่งที่ตรงกันข้ามให้ออกจากเซสชัน dbus ที่มีอยู่เดิมโดยไม่แตะต้องโดยเซสชันล็อกอินระยะไกล ssh ถ้าฉันทำ ssh -X -C user@workstation.edu dbus-launch konsole ใช้งานได้ดังนั้นจึงเป็นเพียงเชลล์การเข้าสู่ระบบแบบโต้ตอบที่ทำลาย dbus ฉันจะแก้ไขได้~/.cshrcอย่างไร เก็บไว้ในใจว่าผมไม่ได้มีสิทธิ์ในการแก้ไข/etc/cshrc, /etc/loginฯลฯ ฉันสามารถแสดงรายการเนื้อหาของไฟล์เหล่านี้ได้ถ้าจำเป็น ปรับปรุง: นี่คือไฟล์ tar …
10 ssh  kde  opensuse  tcsh  d-bus 

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