شما هنوز به سیستم وارد نشده اید.

#1 2020-02-10 19:23:30

Programmer
عضو
از : تهران
ثبت شده: 2015-10-01
ارسال ها: 446
وب سایت

اجرای فایل sh در زمان startup [حل شد]

درود و عرض ادب
دوستان من دو تا فایل sh دارم که می خوام وقتی هر بار سیستم boot شد اجرا شوند. اومدم اون ها رو بصورت سرویس تعریف کردم و enable و start هم کردم اما خب بخاطر محتویاتش به درستی کار نکرد. در ادامه محتویات فایل ها رو قرار میدم. یکی دیگه با استفاده از Crontab بود که باز هم متاسفانه کار نکرد.
حالا این sh ها چی هستند. یکی از اون ها برای این هست که روی I3 WM بیاد مانیتور ها رو بدرستی adjust کنه و اون یکی برای ست کردن background و keyboard layout هست. این هم محتویات این فایل ها :

chk.sh

setxkbmap -layout us,ir
setxkbmap -option 'grp:alt_shift_toggle'

#background
feh --randomize --bg-scale --no-fehbg /home/mehrdad/Pictures/Wallpapers/

monitors.sh

#!/bin/sh
xrandr --output eDP-1 --mode 1920x1080 --pos 1920x0 --rotate normal --output DP-1 --off --output HDMI-1 --off --output HDMI-2 --primary --mode 1920x1080 --pos 0x0 --rotate normal
/

از چه روشی این تنظیمات رو در اول سیستم فراخونی کنم بهتر هست دوستان. که هر سری خودم نیام و اون ها رو اجرا کنم.
و چطور می تونم با feh بیام و یک slideshow بسازم که مثلا از هر ۱۰ دقیقا از folder که بهش دادم بیام random یک عکس دیگه ای رو برداره.

برای این ها روشی پیدا کردم اما خب می خوام کامل کار بصورت سیستماتیک و در زمان boot سیستم انجام بشه .
ممنونم از شما بابت راهنمایی هاتون

آخرین ویرایش توسط Programmer (2020-02-12 15:35:46)


Software Engineer (Mobile and Back-End Developer)
and interested to Arch Linux, Golang
به سایت ما سر بزنید smile
مهرداد دولت خواه - Mehrdad Dolatkhah

آفلاین

#2 2020-02-11 13:15:25

LinArcX
Moderator
ثبت شده: 2015-09-18
ارسال ها: 854

پاسخ: اجرای فایل sh در زمان startup [حل شد]

سلام مهردادجان. چون i3 داری، میتونی تنظیمات مربوط به کیبورد و ست کردن بک گراند رو داخل فایل زیر بریزی:

~/.config/i3/config

نیازی به فایل sh. مجزا نیست برای این کار.

فایل دوم رو هم میتونی داخل xinitrc بگذاری تا اجرا بشه به صورت خودکار.(هر چند نوشتن سرویس روش درست تری به نظر میرسه.)

برای ساخت اسلاید شو هم میتونی از این دستور کمک بگیری:

feh --hide-pointer -qrzZFD 2.0 /path/to/images

و برای سادگی کار تو فایل bashrc. یا zshrc. میتونی یه alias بدین شکل براش درست کنی:

alias fss='f(){ feh --hide-pointer -qrzZFD 2.0 "$@" }; f'

و اینجوری ازش استفاده کنی:

fss /path/to/dir1 /path/to/dir2 /path/to/dir3

سوئیچ های qrzZFD- رو هم میتونی از طرق من پیج feh مطالعه کنی.(سوییچ z رندم میاره عکس ها رو برات)

آخرین ویرایش توسط LinArcX (2020-02-11 13:36:59)

آفلاین

#3 2020-02-12 15:35:10

Programmer
عضو
از : تهران
ثبت شده: 2015-10-01
ارسال ها: 446
وب سایت

پاسخ: اجرای فایل sh در زمان startup [حل شد]

درود سعید جان. ممنون بابت راهنمایی که کردی. فایل config برای I3 رو به این شکل تغییر دادم و همه چی اکی شد. اسلاید شو هم اکی بود. مرسی حالا اگر بتونم بگم اگر ۵ دقیقه سیستم inactive بود بیاد لاک کنه و این رو ران کنه و دوباره با هر event یک editText بیاره و فرایند لاگین رو پیش ببره اکی میشه .

exec_always "setxkbmap -model pc104 -layout us,ir -variant ,, -option grp:alt_shift_toggle"

exec_always  xrandr --output eDP-1 --mode 1920x1080 --pos 1920x0 --rotate normal --output DP-1 --off --output HDMI-1 --off --output HDMI-2 --primary --mode 1920x1080 --pos 0x0 --rotate normal

exec_always feh --randomize --bg-scale --no-fehbg /home/mehrdad/Pictures/Wallpapers/

برای کانفیگ مانیتور رو داخل .xinitrc گذاشتم اما کار نکرد.


Software Engineer (Mobile and Back-End Developer)
and interested to Arch Linux, Golang
به سایت ما سر بزنید smile
مهرداد دولت خواه - Mehrdad Dolatkhah

آفلاین

پانوشت انجمن

پشتیبانی توسط تیم آرچ لینوکس ایران و نیرو گرفته با FluxBB