Почему я не могу получить файл сценария от .xsessionrc?

Этот ответ на основе awk ответ отправляется potong..
Это дважды с такой скоростью, как comm метод (в моей системе), для тех же 6 миллионов строк в основном файле и 10 тысяч ключей... (теперь обновленный для использования FNR, НОМЕРА)

Хотя awk быстрее, чем Ваша существующая система и даст Вам и Вашему компьютеру (компьютерам) некоторую передышку, знать, что, когда обработка данных так интенсивна, как Вы описали, Вы получите лучше всего полные результаты путем переключения на специализированную базу данных; например, SQlite, MySQL...


awk '{ if (/^[^0-9]/) { next }              # Skip lines which do not hold key values
       if (FNR==NR) { main[$0]=1 }          # Process keys from file "mainfile"
       else if (main[$0]==0) { keys[$0]=1 } # Process keys from file "keys"
     } END { for(key in keys) print key }' \
       "mainfile" "keys" >"keys.not-in-main"

# For 6 million lines in "mainfile" and 10 thousand keys in "keys"

# The awk  method
# time:
#   real    0m14.495s
#   user    0m14.457s
#   sys     0m0.044s

# The comm  method
# time:
#   real    0m27.976s
#   user    0m28.046s
#   sys     0m0.104s

5
25.01.2013, 21:27
3 ответа

Нет никакой причины, почему определение источника файла, со стандартной командой определения источника, которая является . нет source (который является cshism, также поддерживаемым tcsh, ударом, ksh и zsh, но не стандартный) не работал бы от .xsessionrc.

Необходимо удостовериться, что синтаксис в полученном файле является стандартным sh синтаксис.

5
27.01.2020, 20:39

Почему Вы выполняете в этом .xsessionrc и не, например, в .bash_profile или безотносительно другого файла Ваше использование оболочки на входе в систему (не путают с .bashrc, который получен каждой оболочкой)? Здесь (Fedora) это даже имеет полезный комментарий User specific environment and startup programs...

2
27.01.2020, 20:39
  • 1
    Команды должны также быть выполнены, когда никакой удар (или любая другая оболочка) не выполняется. Например, удаленные каталоги должны также быть смонтированы, только запустив файловый менеджер –  BinaryBongo 25.01.2013, 21:27
  • 2
    @BinaryBongo Много установок действительно читает .profile при входе в систему с менеджером по оформлению. Это действительно зависит от распределения, менеджера по оформлению и типа сессии, я не проверил, читает ли Ваш действительно .profile. Если это не делает, поместить . ~/.profile в Вашем .xsessionrc. –  Gilles 'SO- stop being evil' 26.01.2013, 01:39

В зависимости от Вашего дистрибутива можно добавить сценарии для выполнения автоматически на начальной загрузке. Если бы Вы используете initscripts, они были бы добавлены к rc.local (/etc/rc.local IIRC), и с systemd я полагаю, что Вы сделали бы сервисный файл для них и затем включили бы его так, он работал на начальной загрузке.

С debian это был бы initscripts и таким образом rc.local.

Монтирование должно быть, покончили /etc/fstab который будет работать на начальной загрузке.

-1
27.01.2020, 20:39
  • 1
    Это не применимо здесь. Требование состоит в том, чтобы выполнить некоторый код во время запуска сессии, не во время начальной загрузки системы. –  Gilles 'SO- stop being evil' 26.01.2013, 01:37

Теги

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