Saya ingin menjalankan skrip segera setelah autentikasi lightdm saya berhasil, dan Unity saya mulai memuat. dan saya ingin menjalankan skrip saya sebagai pengguna root.
@Shnd X sebenarnya dimulai sebelum lightdm, karena lightdm juga berjalan di X. Jadi jika Anda ingin menjalankan sesuatu sebagai pengguna Anda, Anda mungkin menginginkannya "setelah autentifikasi lightdm berhasil" atau dengan kata lain "ketika desktop mulai". Dimungkinkan juga untuk menjalankan skrip ketika komputer Anda hanya bootet, tidak peduli apakah Anda memiliki pengguna yang masuk atau tidak (itulah yang dimulai X misalnya) daripada itu adalah pertanyaan yang sama sekali berbeda. Jika Anda ingin menjalankan sesuatu sebagai pengguna, Anda mungkin menginginkannya dan jawabannya tergantung pada sistem init Anda.
erikbwork
Jawaban:
5
Pertama, masukkan skrip Anda /usr/bindan berikan izin eksekusi.
Sekarang buat file .desktop /home/[user-name]/.config/autostart/yang menjalankan skrip Anda yang berjalan saat startup.
Contoh: - Biarkan nama file skrip Anda adalah "contoh" atau "contoh.sh"
Buat file .desktop dengan gedit dengan baris berikut dan simpan sebagai filename.desktop di /home/[user-name]/.config/autostart/
"$ HOME / .config / pemula" tidak ada direktori seperti itu di komputer saya.
Kalamalka Kid
1
@KalamalkaKid Versi Ubuntu mana yang Anda gunakan? Direktori pemula harus di lokasi ini /home/yourusername/.config/upstart/. Buka direktur rumah Anda di nautilus, tekan Ctrl + H dan Anda akan melihat direktori .config
TuKsn
2
Untuk menjalankan perintah sebagai root , setelah login, ada trik sederhana lain:
Dibutuhkan dua langkah:
buat file pemicu saat masuk
buat cronjob, jalankan dengan root (atur /etc/crontab), untuk menjalankan skrip kecil (menjalankan perintah Anda) jika dan hanya jika file pemicu ada. Karena file pemicu dihapus oleh skrip yang sama, perintah Anda hanya berjalan sekali.
Urutannya adalah:
USER LOGIN > trigger file is created > cronjob runs script (with your command) and removes trigger file, > next time the script passes, since the trigger file does not exist anymore
Pengaturan
Dua skrip kecil:
Satu untuk membuat file pemicu saat masuk:
#!/bin/sh
touch $HOME/.trigger
dan satu dua jalankan perintah:
#!/bin/bash
FILE="/path/to/your/homedirectory/.trigger"
# don't use $HOME here, since you run it by root
if [ -f $FILE ]; then
<your command here, run by root>
rm -f $FILE
fi
salin kedua skrip ke dalam dua file kosong, simpan sebagai create_trigger.shdan run_command.sh.
Untuk alasan kenyamanan, buat keduanya bisa dieksekusi.
Tambahkan perintah berikut ke Aplikasi Startup Anda (Dash> Startup Applications> Add)
/path/to/create_trigger.sh
Tambahkan baris berikut ke /etc/crontabfile ( sudo nano /etc/crontab):
* * * * * root /path/to/run_command.sh
Sekarang perintah yang ditentukan dijalankan dalam waktu satu menit dalam satu menit dari login.
Jawaban:
Pertama, masukkan skrip Anda
/usr/bin
dan berikan izin eksekusi.Sekarang buat file .desktop
/home/[user-name]/.config/autostart/
yang menjalankan skrip Anda yang berjalan saat startup.Contoh: - Biarkan nama file skrip Anda adalah "contoh" atau "contoh.sh"
Buat file .desktop dengan gedit dengan baris berikut dan simpan sebagai filename.desktop di
/home/[user-name]/.config/autostart/
Di sini
Exec=sudo example
atauExec=sudo example.sh
jalankan skrip Anda sebagai root dari/usr/bin
Berikan izin eksekusi ke file .desktop.Sekarang, Script berjalan saat startup.
sumber
Kemungkinan lain:
Buat file dalam
$HOME/.config/upstart/my-upstart-script.conf
Rincian lebih lanjut untuk Pemula :
http://ifdeflinux.blogspot.de/2013/04/upstart-user-sessions-in-ubuntu-raring.html
http://upstart.ubuntu.com/cookbook/
Info berjalan
sudo
tanpa kata sandi:Bagaimana menjalankan aplikasi menggunakan sudo tanpa kata sandi?
Bagaimana cara menjalankan perintah sudo tertentu tanpa kata sandi?
sumber
/home/yourusername/.config/upstart/
. Buka direktur rumah Anda di nautilus, tekan Ctrl + H dan Anda akan melihat direktori .configUntuk menjalankan perintah sebagai root , setelah login, ada trik sederhana lain:
Dibutuhkan dua langkah:
/etc/crontab
), untuk menjalankan skrip kecil (menjalankan perintah Anda) jika dan hanya jika file pemicu ada. Karena file pemicu dihapus oleh skrip yang sama, perintah Anda hanya berjalan sekali.Urutannya adalah:
Pengaturan
Dua skrip kecil:
Satu untuk membuat file pemicu saat masuk:
dan satu dua jalankan perintah:
create_trigger.sh
danrun_command.sh
.Tambahkan perintah berikut ke Aplikasi Startup Anda (Dash> Startup Applications> Add)
Tambahkan baris berikut ke
/etc/crontab
file (sudo nano /etc/crontab
):Sekarang perintah yang ditentukan dijalankan dalam waktu satu menit dalam satu menit dari login.
sumber