Запустите X после автоматического входа в систему

Проблема, конечно, состоит в том, что Вы выполняете grep на больших временах файла 10,000. Необходимо считать оба файла только однажды. Если Вы хотите остаться вне языков сценариев, можно сделать это этот путь:

  1. Извлеките все числа из файла 1 и отсортируйте их
  2. Извлеките все числа из файла 2 и отсортируйте их
  3. Выполненный comm в отсортированных списках для получения, что находится только во втором списке

Что-то вроде этого:

$ grep -o '^[0-9]\{12\}$' file1 | sort -u -o file1.sorted
$ grep -o  '[0-9]\{12\}'  file2 | sort -u -o file2.sorted
$ comm -13 file1.sorted file2.sorted > file3

Посмотрите man comm.

Если Вы могли бы усекать большой файл каждый день (как файл журнала), Вы могли бы сохранить кэш отсортированных чисел и не должны будете анализировать его целый каждый раз.

5
31.01.2013, 19:07
2 ответа

Я не уверен, что XDG_VTNR вовлекает, но этот сценарий работы для меня, поместите строку в ~/.bashrc

(Я делаю auto-X на tty3),

if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty3 ]]; then exec startx; fi

Также определите "не работу", делает она работает, если Вы запускаетесь startx вручную? В противном случае исследуйте свой ~/.xinitrc сначала.

6
27.01.2020, 20:39
  • 1
    Выполнение startx вручную работы, обновленный вопрос. –  user905686 27.01.2013, 12:27
  • 2
  • 3
    это действительно не помогает... –  user905686 27.01.2013, 20:22
  • 4
    Хорошо я попробовал это теперь, и это работает. Какая-либо идея, почему инструкции Wiki не работают? Можно ли также объяснить, что делает команда? Вторая часть проверяет, являемся ли мы на tty3, таким образом, startx будет действительно выполняться только однажды, правильно? –  user905686 11.03.2013, 14:10

В .bash_profile, можно узнать (после того, как автовойдите в систему с getty -a в /etc/inittab) какой tty Вы хорошо знаете tty (если Вы находитесь на самом деле в X, это могло бы быть похожим на это: /dev/pts/1 - это что p проверка о ниже). Затем установите переменную, чтобы хранить эту информацию; позже, используйте его для запуска X с xinit.

Необходимо также установить ~/.xinitrc и ~/.Xresources; хорошее начало ~/.xinitrc xrdb ~/.Xresources - проверьте страницы справочника на все это. Можно найти некоторые примеры здесь.

CURRENT_VT=`tty`
if [[ ${CURRENT_VT[6]} == "p" ]]; then
    export VT="X"
else
    export VT=${CURRENT_VT: -1:1}
fi

# ... [cut] initialize everything else ...

# OK, done; let's start applications and X depending on where we are

case $VT in
    (1) emacs ;;
    (5) wait_for_internet
        irssi --connect=open.ircnet.net ;;
    (6) xinit ;;
    (X) ... do X stuff ... ;;
esac

Править

По ошибке я отправил вышеупомянутое zsh код - в синтаксисе удара, это будет несколько походить на это (с резервированием, что это намного менее тестируется, чем код zsh, который работает каждый день на моем компьютере). Остальное неизменно.

CURRENT_VT=`tty`
if [[ ${CURRENT_VT:5:1} = "p" ]]; then
    export VT="X";
else
    export VT=${CURRENT_VT:${#CURRENT_VT} - 1};
fi
0
27.01.2020, 20:39
  • 1
    @Gilles: Это, кажется, работает в .bashrc также (когда я изменил синтаксис; посмотрите редактирование) - причина, я думал, что это пойдет туда, то, что у меня есть он в .zshrc - так или те файлы не являются 100%-й параллелью, или Вы не думаете, что вышеупомянутое принадлежит .zshrc также - Я сортирую подозреваемого последнего (поскольку существует a .zprofile), таким образом, было бы интересно знать почему? –  Emanuel Berg 28.01.2013, 03:20
  • 2
    Если Вы вставляете этот код .bashrc, это инициирует во всех видах нежелательных обстоятельств, таких как рабочий экран или SSH, если это передаст XDG_VTNR переменная, или в xterm, если Вы сбросили DISPLAY, и т.д. –  Gilles 'SO- stop being evil' 28.01.2013, 03:22
  • 3
    @Gilles: Имеет место это для zsh также? (Таким образом, необходимо использовать .zprofile?) –  Emanuel Berg 28.01.2013, 03:28
  • 4
    Да, какова оболочка, начинание X входит в сценарий входа в систему (.profile, .login, .bash_profile, .zprofile, …), не интерактивный сценарий запуска (.bashrc, .kshrc, .cshrc, .zshrc, …). –  Gilles 'SO- stop being evil' 28.01.2013, 03:35
  • 5
    @Emanuel Berg: Я думал, что необходимо использовать startx и нет xinit? Обновленный мой вопрос с другими файлами. –  user905686 31.01.2013, 19:04

Теги

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