Что является эквивалентом автозапуска Windows для Linux?

Используя только bash, без внешних программ, вы могли бы сделать что-то вроде этого:

#!/bin/bash

# first time is the first argument, or 23:30     
var1=${1:-23:30}
# second time is the second argument, or 20:00
var2=${2:-20:00}

# Split variables on `:` and insert pieces into arrays
IFS=':' read -r -a t1 <<< "$var1"
IFS=':' read -r -a t2 <<< "$var2"

# strip leading zeros (so it's not interpreted as octal
t1=("${t1[@]##0}")
t2=("${t2[@]##0}")

# check if the first time is before the second one
if (( t1[0] > t2[0] || ( t1[0] == t2[0] && t1[1] > t2[1]) ))
then
  # if the minutes on the first time are less than the ones on the second time
  if (( t1[1] < t2[1] ))
  then
    # add 60 minutes to time 1
    (( t1[1] += 60 ))
    # and subtract an hour
    (( t1[0] -- ))
  fi
  # now subtract the hours and the minutes
  echo $((t1[0] -t2[0] )):$((t1[1] - t2[1]))
  # to get a decimal result, multiply the minutes by 100 and divide by 60
  echo $((t1[0] -t2[0] )).$(((t1[1] - t2[1])*100/60))
else
  echo "Time 1 should be after time 2" 2>&1
fi

Тест:

$./script.sh 
3:30
3.50

$./script.sh 12:10 11:30
0:40
0.66

$./script.sh 12:00 11:30
0:30
0.50

Если вам нужна более сложная разница во времени, которая может охватывать разные дни и т. д., то, вероятно, лучше использовать дату GNU.

0
25.02.2021, 18:56
1 ответ

Windows более или менее стандартизирована Microsoft, поэтому утилита Autoruns является единственной для всех версий Windows. Linux на рабочем столе вообще не стандартизирован, и такого инструмента не существует.

  • Для системных служб у вас есть Systemd, SysVinit, upstartи множество других со своими собственными конфигурациями.

  • Для X.org у вас есть/etc/X11/xinit/*-для Wayland, у вас нет ничего из этого.

  • Для графического сеанса у вас может быть ~/.config/autostart, но различные среды рабочего стола (KDE, Gnome, XFCE, Enlightenment )имеют свои собственные способы запуска приложений.

Практически невозможно написать такую ​​утилиту для всех дистрибутивов, и тогда вам придется постоянно поддерживать ее.

4
18.03.2021, 22:28

Теги

Похожие вопросы