Fórumok
Meg lehet azt valósítani, hogy a systemd saját időzítőjével egy service-t késleltetve lehessen indítani?
Konkrétan a bluetooth.service-t lenne jó mondjuk 10sec-el később startoltatni a bejelentkezés után.
Vagy a systemctl enable parancsnak van-e olyan kapcsolója, hogy az adott service-t késleltett indulással állítjuk be?
Hozzászólások
Gábriel Ákos
Így valahogy?
[Unit]
Description=Bluetooth service
Documentation=man:bluetoothd(8)
ConditionPathIsDirectory=/sys/class/bluetooth
[Service]
Type=dbus
BusName=org.bluez
ExecStart=/usr/lib/bluetooth/bluetoothd sleep10
NotifyAccess=main
#WatchdogSec=10
#Restart=on-failure
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
LimitNPROC=1
ProtectHome=true
ProtectSystem=full
[Install]
WantedBy=bluetooth.target
Alias=dbus-org.bluez.service
Én ugyan nem igen értek hozzá, de böki a szemem, hogy ExecStartPre, tehát a start előtt fog lefutni. És mégpedig az, hogy vár a sleep-pel 10 sec-et.
Igen, azzal a megoldassal nem csak boot eseten lesz kesleltetes az indulasban hanem ha kesobb ujrainditja is.
timer-t lehetne letrehozni es abban megadni OnBootSec=10-et, ileltve systemctl disable Bluetooth service, hogy a timer inditsa el bluetooth-t. (nem tudom egy suspend/hibernalas eseten mondjuk ez hogy viselkedne)
Pontosan így szeretném, hogy egy timer indítsa a service-t.
akkor talan hozz letre egy bluetooth.timer-t valahogy igy:
de ha jol latom a service unit file-odban bluetooth.target-et esetleg dbus logokat kellene megnezned mi tortenhet ami miatt nem mindig indul el indulaskor, inkabb a hiba okat keresd meg ha lehet (esetleg nem tolti be idoben bt-hoz kernel modult es meg kellene adni modules-ban hogy kezdje azzal vagy nem tudom) a workaround helyett.
Igen sejtettem, hogy ez az ötlet inkább áthidalása a problémának, mint sem a megoldása. A service unite fájl az az én Manjaro rendszeremé, viszont a probléma Debian/Plasma rendszeren van.
Én sem értek hozzá. Abban sem vagyok biztos, hogy jól értelmezem a segítséget. Úgy gondoltam, hogy kiegészítem az aktuális sort a sleep 10-el. De lehet új sorként kellene hozzáadni a conf-hoz a javasolt módosítást.
Nem, az egy külön sor a [Service] sectionben.
Mondjuk nem feltétlen a login után fog 10 másodperccel lefutni, hanem a service elindulása után.
A sleep általában workaround, mit szeretnél valójában megoldani?
Csak annyit, hogy ne manuálisan kelljen start-ot kiadni a service-re. Mert enabled-el nem mindig működik a bluetooth normálisan. Szóval 10 sec-el bejelentkezés után induljon a bluetooth.service.
Az mit jelent, hogy nem működik normálisan?
Ez lenne a jelenség, nem nálam van a probléma. Viszont a megoldás érdekelne.
"Bosszantó hibával élek együtt a Debian10/KDE rendszeren.
10-ből 3-4x a rendszerindításnál nem indul el a Bluetooth. Ilyenkor az ikonja se jelenik meg a panelen, a beállításaiba belemászva,
"A Bluetooth adapter ki van kapcsolva " üzenet fogad. Ezt bekapcsolva, az ikon így se jelenik meg de további gépészkedések után legalább felismeri a BT. egeremet. (A BT. headsetről majd máskor, azt se kezeli le rendesen indulásnál, további kattingatások kellenek hogy normálisan működjön).
Ez nagyon idegesítő mert billentyűzetről ezt a bekapcsolást, majd az egér csatlakoztatását kb. 1 perces zongorázással tudom megcsinálni.
Mivel hordozom naponta a gépet, már ott tartok hogy mindig viszek magammal egy usb-s egeret is mert azzal pikkpakk megoldom kattingatásokkal a BT. egér csatllakoztatásást, de ez egy kicsit olyan vicces kategória.
Kell mégegy egér hogy legyen egerem.
A BT. beállításokban minden olyan funkció be van kapcsolva ami esetleg ezzel kapcsolatos, eredmény nélkül.
Az adapternél a bekapcsolás és állandó láthatóság valamint a bluetooth integráció, az energiaellátásnál is be van pipálva a mindig opció,
az eszközöknél meg az automatikus csatlakozás és a megbízható eszköz is be van pöttyözve.
Az adaptert mindig felismeri, kiírja a beállítóablakba a nevét, és ott virít az "Adapter kikapcsolva" felirat.
Erre van valami megoldás?"
Ha a service disabled és login után start van kiadva, akkor nincsenek ezek a problémák.
KDE-n van startup, ahova be tudsz script-eket tenni. Lehet, hogy ott kéne elindítani a BT-t egy sleep=5 script-tel, így magát a systemd-s service-t nem érintené. System Settings -> Startup and Shutdown -> Autostart
Bár azért tákolás kicsit...
A hiba forrása nem lehet az a tény, hogy túl hamar kerül "alvó állapotba" a bt eszköz csatlakozás előtt?
Azt, hogy mi a hiba forrása, azt akkor lehetne kitalálni, ha mutatnál logokat.
Melyek legyenek azok pontosan?
hát, gondolom a szarakodó service logjai jók lennének :)
csak tipp, nem tudom fejbol mukodik-e: kell egy "helper" service amiben van a sleep sima ExecStart=-ban, es Type=oneshot. majd a bluethoot servicenek megmondod hogy Requires=eredetirequres.service bluetooth-helper.service.
igy bootolaskor a helper lefut, majd utana a rendes bt. ha meg csak restartolni kell akkor a sima bt-t restartolod de akkor mar nincs sleep
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
Hasonlo a problema a halozati driveok (pl. sshfs) felcsatolasanal.
A sleep nem elegans megoldas, de mukodhet.
A problema gyokeret kellene megtalalni. Itt lehet, hogy a driver betoltese, a halozati drive eseteben pedig a halozat tenyleges elindulasa (kaptam IPt a routertol). Erre kell varni.
Hogy miert nem megy ez a Debiannak magatol, az modnjuk mar eleg erdekes kerdes onmagaban is.
?
[Unit]
After=network.target
HUP te Zsiga !