systemd servis statusini zbus orqali olish #3
Labels
No labels
bug
duplicate
enhancement
fix
good first issue
help wanted
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
xinux/e-imzo-manager#3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Terminal buyruqlarini kod ichiga yozgandan koʻra zbus crate orqali faqat systemd servisiga ulanib ishlatgan toʻgʻriroq.
D-bus api:
org.freedesktop.systemd1z-bus kodiga misol:
github.com/balena-io-modules/network-manager@4da2e6a57d/src/service.rs (L16)Nega xozirgi yechim yaxshi emas?
Xozirgi terminal buyruq orqali har qanday buyruq ishlatish mumkin. Bu oldindan dastur qanday huquqlarga ega boʻlishini oldindan aytib boʻlmaydi. Misol uchun flatpak orqali sandbox boʻlgan holatda dastur manifest fayl ichida systemd uchun alohida ruxsat soʻrab yoziladi build boʻlayotganda.
NixOS uchun ran boʻladigan applar dastur ichida nix buyruqlarini ishlatsachi?
Command::new("nix").args(profile) va hokazo buyruq ishlatish oʻz holicha qolaveradi, chunki bundan yaxshi yechim yoʻq va nixʼlangan dasturlar hech nimani sandbox qilmaydi.
Oʻzgartirish kerak boʻlgan joylar
--user e-imzo.servicestatusini olish logikasi: https://github.com/xinux-org/e-imzo-manager/blob/main/src/utils.rs#L24-L41github.com/xinux-org/e-imzo-manager@f983d4c3b9/src/ui/window.rs (L258-L283)Foydali jihatlari
@bahrom04
Manabu yechim ham bor.
systemdyoki bo'lmasamlibsystemdpaketlaridan foydalanish mumkin.https://docs.rs/libsystemd/latest/libsystemd/
https://stackoverflow.com/questions/74628597/how-do-i-make-my-rust-program-communicate-to-systemds-watchdog