Puncte:1

How can I log in and run a bash file at boot?

drapel cn

I got myself a minecraft server that turns on and off on specific hours but I don't want to type the commands every time it should start playing and let it run those commands after boot. I found an old askubuntu thread (for 12.04) where this is handled and let it run as root. But for security reasons, I don't want it to run as root. I would like to still be able to type in commands to like stop the server, so it cannot run my bash script somewhere hidden.

waltinator avatar
drapel it
Citiți `man 5 crontab` și folosiți câmpul special de dată `@reboot`.
bac0n avatar
drapel cn
Se pare că aveți nevoie de un script obișnuit [startup](https://askubuntu.com/a/1089789/986805), acesta ar trebui să funcționeze ca șablon, cu `Group=`, `User=` [directiva](https:/ /manpages.ubuntu.com/manpages/focal/man5/systemd.exec.5.html) puteți specifica un alt utilizator, grup (aș recomanda, de asemenea, `/usr/local/lib/systemd/system` în loc de `/etc /systemd/system`).
Puncte:1
drapel cn

Puteți încerca să utilizați o intrare crontab pentru utilizatorul dvs.

Comanda pentru a rula o comandă att boot este „@reboot”.

Exemplu de intrare crontab:

@reboot cd /home && sh ./myscript.sh
Irsu85 avatar
drapel cn
Și... cum pot seta acea intrare crontab?
Level9 avatar
drapel cn
Rulați comanda `crontab -e`
Irsu85 avatar
drapel cn
multumesc, o sa incerc asta maine
bac0n avatar
drapel cn
Stocarea scripturilor în `/home` nu este obișnuită (și nici recomandată). De asemenea, este de preferat să utilizați calea completă către comandă. Specificarea shell-ului pe linia de comandă `/bin/sh script.sh` va trece directiva *interpretare* `#!` ca un comentariu obișnuit în loc de interpret *specificat*. Și dacă diferă, poate duce la inconsecvența caracteristicilor.
Irsu85 avatar
drapel cn
Nici scriptul meu nu este acasă, este în /home/myUserName/survival
Irsu85 avatar
drapel cn
Se pare că nu funcționează, dar asta îmi dă o idee despre ceea ce caut. Mulțumiri
Irsu85 avatar
drapel cn
Update, am făcut mai multe cercetări și se pare că am folosit greșit comanda...
Puncte:0
drapel tr

Pentru a rula automat o comandă de fiecare dată când sistemul pornește:

  • Căutați „Aplicații de pornire” în liniuță și deschideți-l.

  • Faceți clic pe adăugați.Pentru nume puneți „Start Minecraft Server” și sub „comandă” puneți comanda folosită pentru a vă porni serverul Minecraft.

  • Apăsați pe adăugare și acum scriptul ar trebui să ruleze la repornire/pornire.

Bucurați-vă!

drapel jp
Dan
Dacă instalarea Ubuntu a folosit versiunea de server în loc de versiunea desktop, acest lucru nu va fi posibil, deoarece nu există nicio modalitate de a accesa un program GUI. Deși, pentru cazuri ca acestea, aș recomanda o unitate systemd așa cum este sugerat de comentariul @bac0n de mai sus. Deoarece, cel mai probabil, veți dori un control mai ușor pentru a opri și reporni un astfel de software.
jackw11111 avatar
drapel tr
Ah, am inteles. M-am gândit că voi împărtăși această metodă ca o alternativă mai puțin eficientă pentru programare.
drapel jp
Dan
Nu am vrut să spun, deoarece răspunsul este greșit, să mă plâng sau ceva de genul. Scuze daca a sunat asa! Raspunsul este absolut ok. Dar am vrut doar să-l menționez ca „declinare a răspunderii” pentru acest caz specific.
jackw11111 avatar
drapel tr
@Dan Toate bune, a fost un punct bun pe care nu l-am luat în considerare, mulțumesc! :)
Irsu85 avatar
drapel cn
Îmi place această idee, dar nu pot accesa o interfață grafică.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.