Как запустить Xvfb при запуске на Debian?

У меня есть веб-сервер на Debian, который я использую для случайных экран-соскоб через Selenum и Python.

Я использовать Xvfb в качестве виртуального X-сервера для Firefox для работы на, когда контролируется селен. Учитывая, что я (думаю) я должен начать это с помощью команды sudo, я не думаю, что это будет возможно, чтобы запустить его в Python (см. Мой переполнение стека вопрос), поэтому я подумал, я мог бы иметь его постоянно.

В настоящее время я запустить его в командной строке:

судо Xvfb :99 -nolisten TCP на fbdir /ВАР/запуск

Какой метод я должен использовать, чтобы сделать это автоматически при запуске? Я должен использовать cron или, как предложил здесь?

+186
Senthil K Kumar 20 нояб. 2011 г., 09:18:12
35 ответов

Что предложил Жиль-это, наверное, лучший ответ, если это возможно сделать.

Если это не так, решение, которое должно работать бы использовать X-мышь управления , чтобы отправить вверх и вниз клавиши со стрелками, когда мышкой прокручиваешь. Я никогда не использовал экраны с замазкой, но я использовал эту установку на шпатлевки в Windows, чтобы быть в состоянии прокрутить через текстовый файл с помощью VI или nano. У меня были разные установки профилей, один для 3 выделите линии и одну за 1 свиток линии.

+963
Anton Kazakov 03 февр. '09 в 4:24

Например :

в моем username.txt файл

Рави
Пери
на Perl
phython

в мой .файл XLS у меня есть две колонки по имени, как имя пользователя и адрес электронной почты

имя пользователя электронной почты
Рави [email protected]
Пери [email protected]

Я хочу произвести выход в том списке как просмотреть Excel или обычный вид списка .Пожалуйста, помогите мне решить эту проблему .

+953
Glenys 30 июл. 2016 г., 23:29:01
Другие ответы

Связанные вопросы


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

При сравнении использования диска для подключенного жесткого диска использование совершенно другая, если сравнивать между хостом и контейнер. Я с Ubuntu 14.04 на хост и в контейнер lxc.

Жесткий диск смонтирован на узле, что подтверждается файл/etc/mtab , который содержит следующую запись: /dev и/nvme0n1 в /MNT/SSD диск в ext4 RW с 0 0. Диск не монтируется с помощью файла/etc/fstab для. Привод монтируется внутри пакет lxc контейнер через файл fstab параметры: в/var/lib в/работы с lxc/имя контейнера/fstab строчку.

От хозяина:

# дю-ГС /тугриков/ССД/
20К /тугриков/ССД/

# DF-ч
Размер файловой системы используется выгоде использования% установленной на
в udev 63г 4.0 к 63г 1% /Дев
файловая система tmpfs 13Г 1,4 м 13Г 1% /запуск
/Дев/маппер/Сифр--ВГ-корень 314 г 241Г 58г 81% /
никто к 4.0 0 4.0 к 0% файл /sys/ФС/группы
ни одно 5.0 м 5.0 М 0 0% /запуск/блокировка
никто 63г 0 63г 0% /выполнения/ГИМ
никто 100м 100м 0 0% /выполнения/пользователей
на /dev/sda1, поскольку 236M 100м 124М 45% /загрузки
/разработки/nvme0n1 1.1 Т 1.1 Т 71M 1% в /MNT/ССД

Из контейнера

$ дю-ГС /тугриков/ССД/
16Г /тугриков/ССД/

$ DF-ч
Размер файловой системы используется выгоде использования% установленной на
/Дев/маппер/Сифр--ВГ-корень 314 г 241Г 58г 81% /
никто к 4.0 0 4.0 к 0% файл /sys/ФС/группы
никто 136K 13Г 13Г 1% /запуск
ни одно 5.0 м 5.0 М 0 0% /запуск/блокировка
никто 63г 4.0 к 63г 1% /работа/ГИМ
никто 100м 100м 0 0% /выполнения/пользователей
  1. Как и почему тот же диск показывает два различных использований?
  2. Который является правильное использование?

Обновление: После размонтирования диска с помощью sudo размонтировать /Дев/nvme0n1, теперь я вижу, 16ГБ дискового узла и контейнера:

$ дю-ГС /тугриков/ССД/
16Г /тугриков/ССД/

Я установил другой диск как/dev/СКБ используя файл/etc/fstab строчку и дал контейнер к нему доступ, используя тот же метод: в/var/lib в/работы с lxc/имя контейнера/fstab строчку. Использование второго диска также согласуется и содержание доступны в контейнер и узел.

Различия между двумя дисками, что на/dev/nvme0n1 является встроенный привод, который был установлен вручную, в то время как в/dev/СКБ магнитный диск и установила через файл/etc/fstab строчку.

Что может быть причиной разницы в поведении и как сделать с/dev/nvme0n1 доступны в контейнере?

+939
Viki Arasu 7 авг. 2017 г., 16:28:15

Что-то вроде это работает для меня:

#!/бин/Баш

xcalc &
процесса=$! # получить ID процесса xcalc

сон 5
убить $процесса

Вот, я начинаю xcalc и вилки с &, то я получаю идентификатор процесса из xcalc, спать пять секунд, а затем убить процесс xcalc.

+913
tommy randolph 26 июн. 2018 г., 22:51:48

Один из способов использования языка Perl:

Содержание script.pl:

использование предупреждений;
использовать строгие;

## Проверить аргументы.
умереть с QQ[использование: на Perl $0 <входной файл>\П] если @АГДУ == 1;

мой (@Альфа, @цифра);

в то время как ( <> ) {
 ## Пропустить пустые строки.
 далее, если M/\а\с*\г/;

 ## Удалить начальные и конечные пробелы.
С/\а\с*//;
с/\С*\З//;

 ## Сохранение буквенно-цифровых полей и полей с
 ## только цифры в разных массивах.
 если ( м/\а[[:Альфа:]]+\Z и/ ) {
 пуш @Альфа, $_;
}
 elsif операторы ( м/\а[[:цифра:]]+\Z и/ ) {
 пуш @цифру, $_;
}
}

## Сделать же позиции из обоих массивах и распечатать их
## в одной и той же линии.
для меня $Я ( 0 .. $#Альфа ) {
 е с QQ[%s в %з\п], $Альфа - [ $я ], $цифра[ $я ];
}

Содержание файла:

АААА
ВВВВ
СССС
ДДДД

1234
5678
9012
3456

Ээээ 

7890

Запустить его как:

на Perl входной_файл script.pl 

И результат:

АААА 1234
ВВВВ 5678
СССС 9012
ДДДД 3456
Ээээ 7890
+912
Angela Useche 19 сент. 2018 г., 02:47:36

Вывод в файл команды, не у дел касаемо, почему файл последовательность команд будет выполнена.

Помимо выхода из оригинала найти команду, что самое интересное, что это вывод из:

найти . -имя *.старый тип F опции-mtime +7

если нет имена файлов эхом, затем компресс будет вызвана без аргументов, поэтому ожидание потока stdin. Если есть пробелы в имена файлов файлы, то размер будет проблем передадите это сжатие, а также.

Вы должны хотя бы попытаться изменить это на:

найти . -имя "*.старый" -тип F опции-mtime +7 -print0 команды | команды xargs -0 --нет--если-пустой компресс -Ф

Обновлен основанный на ОП комментарий, это будет:

найти . -имя "$файл" -тип F $ACTION_TYPE +$парам-print0 команды | команды xargs -0 --Не работай-если-пустой компресс -Ф 

В -print0 команды для найти с -0 убедитесь, что имена файлов с пробелами вам правильно передается компресс.
В ... нет-бегите-если-пустой предотвращает размер от бега сжатия , если файл не найден на всех.

+910
Sandy Mirza 23 окт. 2017 г., 00:35:02

Что это лучший подход, чтобы избежать конфликтов между зависимости от двух или более несвязанных порты? Я столкнулся со следующей проблемой. Скрипт, который я использую имеет последующие подход к установке всех зависимостей порта:

если порта указывает на определенный порт (в/usr/порты/Ланг/php5 к примеру)

# Завершить цепочку зависимостей первого
BUILDLIST=`кд $порта && сборка-зависит-список 2>/Дев/нуль`
для построения в $BUILDLIST; делать
 # Проверить, если элемент уже встроен
местные _PKGNAME=`сделать -с $порта -в имя_пакета`
если [ `команда grep -C "в$_PKGNAME" в /tmp/pfPort_alreadybuilt` -ГТ 0 ]; тогда
 Эхо " зависимость $построить из $порта уже построен на этом запускать. Скакалка".
еще
 Эхо "построение зависимостей $построить долл порта"
 clean_build_install_clean $построить
интернет
сделано

После этого попытался установить все зависимости, потом он попытается установить порт.

Это лучше, чем идти через ваши порты и сделать зависит установить чистый? С приближением перечисленных, у меня возникли большие неприятности с младших версий конфликтов, таких как Perl 5.12.4 нужна, но на Perl.14.2 установлена и у меня есть ощущение, что зависит принять справишься лучше.

+873
TomZomW 15 дек. 2014 г., 03:10:38

Я пытаюсь настройте SSH проброс портов с маршрутизатора на моей Linux-машине. Я с помощью динамического DNS от http://www.dnsexit.com. Я использую их поддомен и у меня уже установлен клиент для обновления IP, когда она меняется.

На мой маршрутизатор ZXHN H108N, я настроил проброс портов для SSH на Linux-хост. Я проверил с помощью сервиса на http://www.portcheckers.com/ ли порт SSH доступен или нет, это доступно. Но когда я пытаюсь SSH на мой поддомен, он говорит

СШ: подключение к хост-ХХ.ХХ.ХХ.ХХ порт 22: соединение сброшено

Любая идея?

+865
user151802 20 окт. 2017 г., 04:25:15

Вы могли бы также использовать сценарный редактор, Эд!

Следующий печатает две строки, разделенные команды Эд, которые мы просим молча редактирование данного файла:

функции printf '%з\п' '%s/\.xml.*/.в XML/' 'ВК' | Эд -с именем
  1. %s/\.xml.*/.в xml/ -- в каждой строке, поиск и замена текста .XML и затем все просто .в XML
  2. ВК -- записать файл обратно на диск и бросил Эд
+846
Takii Maloku 6 мая 2014 г., 09:43:43

Если вы регулярно СШать в различные машины, каждый со своим ключом и пароль, запустив SSH-агента позволяет ввести пароль для каждого ключа еще1 в начале сессии, а затем можно выполнить проверку подлинности для каждой машины столько раз, сколько вам нравится без необходимости повторного ввода пароля.

Еще одним преимуществом является то, что, как человека, страницы, агент не отправляет закрытый ключ по его просьбе канала; так что, если вы не прыгая между различными ящики, закрытые ключи защищены.

1Вы можете установить срок времени, что ключи находятся у агента.

+841
Neo Ravi 25 февр. 2016 г., 07:25:55

Во втором ответе в этой теме - это предупреждение о смене пароля Unix для "Постгреса".
Я уже поменял пароль на "Постгреса".
Как я могу восстановить первоначально состояние пользователей "Постгреса"?

+838
user150450 5 мая 2015 г., 06:31:57

я сделал ниже способ

для меня в пикап Хальд-бегун; делать pgrep $я | у awk '{печати "убить" "" $1}'| ш;сделано

Вот самовывоз,Хальд-бегун процесс имена

+810
fbal 1 сент. 2013 г., 02:15:49

Я прочитал инструкцию страница iptables в терминал, но он имеет сложный синтаксис, и я не могу полностью понять, как использовать параметры типа: пользователя, идентификатор пользователя, идентификатор UUID и так далее.

Полагаю, мое имя пользователя foobar и я хочу, чтобы предотвратить приложения от подключения к любой сети. Как мне это сделать?

+755
reyan 30 янв. 2018 г., 01:24:36

Следующая функция базируется на thrig один и он исправляет histignorespace:

функция zshaddhistory() {
 если [[ $1 =~ "^ " ]]; тогда
 возвращает 0
 Элиф [[ $1 = ~ "\ СР *|МВ\ *|РМ\ *|кошка\ *\>|ПВ\ *|ДД\ *" ]]; затем
 1="# $1"
интернет
 # напишите обычная история местоположений
 принт-СР -- ${1%%$'\н'}
 # не сохранять строку в истории. если у вас есть сеть zshaddhistory
 # функции крюк, это может быть сложнее управлять, в зависимости от
 # на что те, что другие крючки делать (человек zshall | меньше -п zshaddhistory)
 возвращение 1
}
+748
mattek 30 мая 2012 г., 01:03:08

Я был более или менее вынужден этим заниматься, потому что Amazon премьер-видео (по крайней мере, Индийская версия), решил, что больше не собирается работать с Firefox в стабильной. Что бы оставить хром как основной браузер только установлен возможность запускать видео.

С 57 доступен в нестабильном, варианты были попытаться портировать его, или просто попробуйте установить его прямо и надеюсь, что это не потянет на многое из нестабильных. К счастью, как вы можете видеть ниже, это не так. Я думаю, что правильное портировать все равно было бы лучше, но было бы гораздо больше усилий.

В частности,следующие пакеты были установлены с нестабильной:

пакет fontconfig-config с libevent-2.1-6 libfontconfig1 libfontconfig1:для i386 libfontconfig1-Дев libhunspell-1.6-0 libnss3 libnss3-Дев

Более консервативный подход будет пытаться заставить склонны использовать только пакеты из стабильной, делая

apt-получить установку для Firefox/нестабильная

но этот подход также чаще (в целом), чтобы вызвать проблемы, потому что это не те версии, что этот пакет браузера Firefox будет нормально работать.

Пожалуйста, обратите внимание, что в целом установка пакетов из Unstable-это не очень хорошая идея.

Уйдя с этого, ничего страшного не случилось, насколько я могу сказать.

[email protected]:/home/faheem# apt-получить установку -Т нестабильного в Firefox
Чтение списков пакетов... готово
Построение дерева зависимостей 
Чтение информации о состоянии... готово
Следующие дополнительные пакеты будут установлены:
 пакет fontconfig-config с libevent-2.1-6 libfontconfig1 libfontconfig1:для i386 libfontconfig1-Дев libhunspell-1.6-0 libnss3 libnss3-Дев
Предлагаемые пакеты:
mozplugger
Следующие новые пакеты будут установлены:
 libevent-2.1-6 и Firefox libhunspell-1.6-0
Следующие пакеты будут обновлены:
 пакет fontconfig-config с libfontconfig1 libfontconfig1:для i386 libfontconfig1-Дэв libnss3 libnss3-Дев
6 модернизированный, 3 установлено новых, 0 для удаления и 3423 не обновляется.
Нужно сделать 44.8 МБ архивов.
После этой операции, 160 МБ дополнительного дискового пространства будет использовано.
Вы действительно хотите продолжить? [Да/нет] 

Отметим также, что стабильный, пусть один установить стабильный Firefox (версия 52) и новый Firefox от нестабильной (57) бок о бок.

[email protected]:/home/faheem# команды dpkg -л | грэп для Firefox
второй для Firefox 57.0.4-1 amd64 в браузере Mozilla Firefox веб-браузер
второй для Firefox-52.5.2 СОЭ СОЭ-1~deb9u1 amd64 в браузере Mozilla Firefox веб-браузер - релиза с длительным сроком поддержки (ESR)

И похоже, что в Firefox разработчики думали, что достаточно далеко вперед, чтобы включить диверсии для браузера Firefox исполняемый.

[email protected]:/home/faheem# команды dpkg -с /usr/Бен/браузера Firefox
утечки через Firefox-СОЭ от: /usr/Бен/браузера Firefox
утечки через Firefox-ESR в: /usr/Бен/браузера Firefox.реальные
в Firefox, в Firefox-СОЭ: /usr/Бен/браузера Firefox
+688
user3144668 6 нояб. 2017 г., 05:33:21

В Linux распаковать утилита не поддерживает многотомные молнии. Из инструкции:

Составные архивы пока не поддерживаются, кроме как в сочетании с zip. (Все части должны быть объединены в порядок, а потом молния -Ф (для Zip 2.х) или зип-ФФ (для zip 3.х) должны быть выполнены на сцепленные архиве для того, чтобы “исправить” его. Кроме того, Молния 3.0 и выше можно объединить несколько частей (сплит) архивы в едином пространстве совмещены-файловый архив с помощью зип-ы - inarchive -о outarchive. Увидеть молнию 3 страницу руководства для получения дополнительной информации.)

Поэтому вам нужно сначала объединить части, то ремонт в результате. кошка test.zip.* объединяет все файлы с именем test.zip.* где подстановочный знак * означает любую последовательность символов; файлы нумеруются в лексикографическом порядке, который так же как и порядку, благодаря водительству нули. >test.zip направляет вывод в файл test.zip.

кошка test.zip.* >test.zip
молния -ФФ test.zip -из test-full.zip
разархивируйте test-full.zip

Если вы создали произведения напрямую расщепление zip-файл, а не многотомный zip с официальная утилита pkzip и, все, что вам нужно сделать, это присоединиться к части.

кошка test.zip.* >test.zip
разархивируйте test.zip
+614
RomaValcer 10 июл. 2010 г., 23:33:37

У меня такая же проблема и тогда я выяснил, что по умолчанию программа XDM пытался начать xsm аппликации, которая не установлена в системе. Как я зашел с пользователя мой_логин, то ошибка была в /дома/мой_логин/.xsession теперь-ошибки

Так что вы должны добавить в ~/.xsession теперь в домашний каталог пользователя, вы входите в систему, добавить пишите ниже линии

старпома FULLPATH_TO_YOUR_WM

е.г:

метод exec /usr/местные/Бен/и3
+591
dawntrader 4 апр. 2014 г., 15:28:11

Я хочу, чтобы компьютер как конкурс, чтобы показать пароль строке во время загрузки. У меня есть закрытые ключи, хранящиеся в Dropbox и между 3 компьютера, из которых 1 находится теперь в Ubuntu.

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

Я нашел морской конек, хотя я не уверен, что это делает то, что я хочу это делать, но он дает ошибки сегментации на свежей установке Ubuntu при импорте ключа шпатлевка экспортированы в пакет OpenSSH.

+507
sachin Kumar 20 дек. 2017 г., 08:57:13

Я хочу взять выходной simple.shсценарий из интернета и проверить его код выхода. Я на OSX

#!/бин/Баш
$(завиток -с http://127.0.0.1:8000/simple.sh)
если [ -з "$?" ]; тогда
 Эхо "хорошо"
 выход 0
еще
 Эхо "плохо"
 выход 1
интернет

simple.sh:

#!/бин/Баш
выход 0

Проблема я получаю это:

./test.sh: линия 2: #!/бин/Баш: нет такого файла или каталога
Плохо
+507
Peesen87 13 сент. 2013 г., 02:08:46

Я пытаюсь установить git. Я выполните следующую команду:

судо apt-получить установку ГИТ-ядро с git-git графический интерфейс-док

Но появляется следующее сообщение об ошибке: команду sudo: apt-получить: команда не найдена

Что я должен делать?

+493
Bryan Onel 31 авг. 2013 г., 17:22:09

pgrep/вводиться возьми флаг. От человека страницы:

-Ф шаблон, как правило, только соответстует имени процесса.
 Когда -F установлена, используется полная командная строка.

Например:

$ 30 спать и спать 60&
[1] 8007
[2] 8008

$ вводиться -Ф 'сон 30'
[1] - прекращено спать 30

$ pgrep спать
8008
+454
marcos souza 23 сент. 2018 г., 10:36:46

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

Например

  1. Командной строки раздражают

    SAML в 18174 7.3 3.2 1174896 259756 ? Aug27 Сл 132:38 /опт/Гугл/Хром/хром-тип=рендерер --Ланг=Ен-Нам --force-fieldtrials=AsyncDns/AsyncDnsB/ForceCompositingMode/disable/InfiniteCache/No/OmniboxHQPReplaceHUPProhibitTrumpinginlineableresult/Standard/OmniboxSearchSuggestTrialStarted2013q1/7/OneClickSignIn/Standard/Prerender/PrerenderControl/SendFeedbackLinkLocation/default/Test0PercentDefault/group_01/UMA-Dynamic-Binary-Uniformity-Trial/default/UMA-Session-Randomized-Uniformity-Trial-5-Percent/group_17/UMA-Uniformity-Trial-1-Percent/group_20/UMA-Uniformity-Trial-10-Percent/group_07/UMA-Uniformity-Trial-20-Percent/default/UMA-Uniformity-Trial-5-Percent/group_04/UMA-Uniformity-Trial-50-Percent/group_01/ --включить краш-репортер=4061BD10D0DC127169CE2132BC3FF8EC,к выходу новой версии Fedora 14 (Laughlin в) --расширение-процесс --рендер-печать-предварительный просмотр параметр --disable-WebGL в-отключить-перец-3д-отключить-гл-мультисемплинг --отключить ускорение-композитинга --отключить ускорение-2Д-холст-отключение ускорения видео-декодирования --канал=18086.4.1423385819

    корень 1764 7.7 0.3 163692 28928 tty1 СС+ Aug21 817:49 /usr/Бен/из xorg :0 -НР -многословный -авт /ВАР/работа/ГДМ/авт-для-ГДМ-fADI0V/базы данных -nolisten TCP и вт1

    Хром особенно может быть довольно раздражающим, когда смотрю на ПС выход такой!

  2. Заголовки в выходной

    $ ПС Ауф | сортировка -НК 3 | зав -20
    ...
    корень 1741 0.0 0.0 4140 400 tty5 СС+ Aug21 0:00 на /sbin/mingetty на /dev/tty5
    корень 1743 0.0 0.0 4140 400 tty6 СС+ Aug21 0:00 на /sbin/mingetty на /dev/tty6
    SAML в 13780 0.0 0.0 115088 4216 оч/13 СС Aug27 0:00 Баш
    SAML в 20432 0.0 0.0 6308 400 ПЦ/9 С+ Aug27 0:00 \_ inotifywatch -е создать /и т. д
    стандарт SAML 8206 0.0 0.0 115296 1108 оч/6 СС+ Aug21 0:03 Баш 
    ПОЛЬЗОВАТЕЛЬ ПИД %%ЦП МЕМ ВСЗ РСС ТЕЛЕТАЙП СТАТ ВРЕМЯ ЗАПУСКА КОМАНДЫ
    SAML в 29352 0.1 0.5 661848 42960 оч/13 сл+ 17:59 0:18 \_ ирб
    ...
    

    Вы можете видеть в заголовке смешанные в 7-й строке в выходной.

Альтернативы

  1. Избавление от заголовков

    ПС обеспечивает переключатель для отключения отображения этих колонок. Это довольно простой в использовании, просто добавьте ... нет-заголовок переключателя.

    $ ПС вход AUX-Без-рубрики | сортировка -НК 3 | Глава -10
    68 1481 0.0 0.0 38592 2144 ? Протокол SSL Aug21 0:28 Хальд
    68 1527 0.0 0.0 18016 672 ? С Aug21 0:01 /УСР/IP-адресов/Хальд-аддон-совместимость с ACPI
    система 1333 0.0 0.0 27872 1172 ? С Aug21 0:01 система-демон: работает [grinchy.местное]
    система 1334 0.0 0.0 27752 20 ? С Aug21 0:00 система-демон: chroot для хелпера
    ДГУ 1307 0.0 0.0 22716 1900 ? Aug21 СС 1:ДГУ-демон 03 --система
    ГДМ 1879 0.0 0.0 317220 2740 ? Сл Aug21 0:00 /usr и IP-адресов с помощью polkit-GNOME для проверки подлинности-Агент-1
    НТП 3060 0.0 0.0 32600 2152 ? СС 20:05 0:00 нтпд -у НТП:НТП -п /ВАР/работа/нтпд.пид -г
    корень 1 0.0 0.0 19420 1004 ? СС Aug21 0:01 на /sbin/инициализации
    корень 1006 0.0 0.0 0 0 ? С Aug21 0:00 [КВМ-irqfd-чистый]
    корень 1020 0.0 0.0 0 0 ? С Aug21 2:02 [kdmflush]
    

    Или такой:

    $ ПС-Ауф-Без-рубрики | сортировка -НК 3 |Глава -10
    корень 1735 0.0 0.0 4140 400 tty2 СС+ Aug21 0:00 на /sbin/mingetty на /dev/tty2
    корень 1737 0.0 0.0 4140 400 tty3 СС+ Aug21 0:00 на /sbin/mingetty на /dev/tty3
    корень 1739 0.0 0.0 4140 400 tty4 СС+ Aug21 0:00 на /sbin/mingetty /Дев/tty4
    корень 1741 0.0 0.0 4140 400 tty5 СС+ Aug21 0:00 на /sbin/mingetty на /dev/tty5
    корень 1743 0.0 0.0 4140 400 tty6 СС+ Aug21 0:00 на /sbin/mingetty на /dev/tty6
    SAML в 13780 0.0 0.0 115088 4216 оч/13 СС Aug27 0:00 Баш
    SAML в 20432 0.0 0.0 6308 400 ПЦ/9 С+ Aug27 0:00 \_ inotifywatch -е создать /и т. д
    SAML в 2098 0.0 0.0 115508 3148 оч/9 СС Aug22 0:05 Баш
    SAML в 27134 0.0 0.0 115496 6768 оч/18 СС Aug27 0:02 Баш
    на основе SAML 3248 0.0 0.0 115076 1024 оч/0 СС+ Aug21 0:00 Баш
    
  2. Взять под контроль столбцы отображаются.

    Это может показаться боль, но если ты сценарии захвата ПС выходной это не так уж плохо. Команда, как это будет имитировать выход ПС ОКС, за исключением замены более форма команды столбец с более короткой версии, которая просто показывает исполняемый имя.

    $ П. С. топор-без-рубрики -о пользователей,пид,%КПУ,%мэм,ВСЗ,sgi_rss,tname,стат,параметр start_time,время,ucmd
    

    Собираем все вместе без заголовков столбцов намного легче решать, когда сценариев.

    Список Высшего к низшему % процессов процессора:

    $ зы топор ... нет-рубрики -о пользователей,пид,%КПУ,%мем ВСЗ,sgi_rss,tname,стат,параметр start_time,время,ucmd |сорт-НРК 3|Глава -10
    SAML в 18086 114 6.4 1418852 515236 ? Aug27 сл 1-10:53:31 хром
    SAML в 18536 14.7 4.1 1276240 328636 ? Aug27 сл 04:29:21 хром
    SAML в 18558 12.2 3.4 1209712 278228 ? Aug27 сл 03:44:22 хром
    SAML в 18543 10.9 3.8 1238132 308824 ? Aug27 РЛ 03:20:18 хром
    корень 1764 7.7 0.4 170220 35276 tty1 РС+ Aug21 13:40:16 файл xorg
    SAML в 18174 7.3 3.0 1167728 241728 ? Сл Aug27 02:14:25 хром
    SAML в 18314 3.6 1.4 1049020 119308 ? Aug27 сл 01:06:19 хром
    стандарт SAML 18528 2.7 3.1 1178368 251212 ? Сл Aug27 00:50:55 хром
    2389 стандарт SAML 2.0 0.1 330632 8480 ? Aug21 сл 03:37:13 менеджер
    SAML в 18208 1.7 1.3 1081132 108828 ? Сл Aug27 00:32:02 хром
    

    Список низшего к высшему % процессов процессора:

    $ П. С. топор-без-рубрики -о пользователей,пид,%КПУ,%мэм,ВСЗ,sgi_rss,tname,стат,параметр start_time,время,ucmd |сорт-НК 3|хвост -10
    SAML в 18208 1.7 1.3 1082156 108348 ? Сл Aug27 00:32:03 хром
    2389 стандарт SAML 2.0 0.1 330632 8492 ? Aug21 сл 03:37:15 с Compiz
    стандарт SAML 18528 2.7 3.1 1181440 250856 ? Сл Aug27 00:50:58 хром
    SAML в 18314 3.6 1.5 1050044 119828 ? Aug27 сл 01:06:25 хром
    SAML в 18174 7.3 3.0 1167728 242068 ? Сл Aug27 02:14:32 хром
    корень 1764 7.7 0.3 163688 28716 tty1 СС+ Aug21 13:40:26 файл xorg
    SAML в 18543 10.9 3.8 1235060 305464 ? Aug27 сл 03:20:32 хром
    стандарт SAML 12.2 3.5 18558 1214832 283560 ? Aug27 сл 03:44:34 хром
    SAML в 18536 14.7 3.9 1267024 314400 ? Aug27 сл 04:29:39 хром
    SAML в 18086 114 6.4 1412992 514856 ? Aug27 сл 1-10:55:28 хром
    
+453
mph 8 дек. 2018 г., 16:09:36

После добавления псевдоним РМ=РМ -я в мой ~/.bashrc и файл (потому что, когда я удалил файл, он не спрашивал подтверждения), имена файлов окружены "â" знаков как в примере ниже:

РМ: не удается удалить âfile1.txtâ: нет такого файла или каталога

Список псевдонимов:

для egrep псевдоним='для egrep --цвет=авто'
fgrep псевдоним='fgrep-цвет=авто'
псевдоним команды grep='grep в-цвет=авто'
псевдоним л.='ЛС-д' .* --цвет=авто'
псевдоним Лл='ЛС-л-цвет=авто'
псевдоним LS='LS с --цвет=авто'
РМ -я псевдоним РМ=''
псевдоним ви='ВИМ'
псевдоним, который='псевдоним | каталог /usr/бен/что-телетайп-только-читать-псевдоним-показать точки-показать-Тильда'

Примечание: Я СШ ING для моей CentOS в машину с Putty из Windows-машиной, так что это определенно кодировка вопрос. Использую Ubuntu гость в моем ВМ, все нормально. Умные цитаты, показывающие, сколько им нужно.

+423
Abdelhakim AKODADI 13 февр. 2019 г., 14:46:45

У меня много файлов и хотите создать архив на каждые 100 файлов т. е. первые 100 файлов в один файл tar, и 101-й до 200-й файлы в другой файл tar. И я хочу использовать дату (наносекунд), поскольку имена смолы.

У меня есть что-то вроде этого:

( диск "${SOURCE_DIR}" & & "найти". -тип F -имя "${FILE_GLOB}" ) | 
 размер -100 Н | команды xargs -я % Ш-с '{деготь -с "${SOURCE_DIR}" - файлы-с - % -БФ "${DESTINATION_DIR}/$(дата+%м%м%д%ч%м%ы%н')-$(команде uname -Н).тар~"}'

Сейчас проблема в том, что '%' в строке с форматом даты будет принимать аргумент от команды xargs, который я не хочу.

Как я могу предотвратить это от случаться?

+422
AlluSingh 4 окт. 2010 г., 08:26:25

Я через avconv для обрезки и конвертации видео. Допустим, я хочу сбросить первые 7 и последние 2,5 секунд поток видео и один аудио поток один час МТС файл:

avconv -I вход.МТС -карта 0:0 -на карте 0:3 -СС 0:0:07 -Т 0:59:50.5 наружу.мова

Это работает до сих пор, но теперь я хочу добавить две секунды от выцветания и выходить в начале и в конце добавив:

-ВФ исчезают=тип=в:start_frame=350:nb_frames=100 -ВФ исчезают=тип=вне:start_frame=178750:nb_frames=100

Эти кадры рассчитываются с 50 fps, что avconv отчетов для видео источника. Но нет ни выцветания, ни наружу.

1) Что случится с видео потертостями и как это правильно делать? 2) Как добавить звук исчезает. Там, кажется, -afade вариант. но я не найти его документально.

Кроме того, вы можете предложить другой инструмент для этой цели (отделка и исчезать видео и аудио), желательно доступные в качестве пакетов для Debian 8.

+375
Mar Islamia 5 окт. 2013 г., 15:39:39

Я пытался в течение нескольких часов, чтобы выполнить следующие действия (на CentOS 6):

  1. хрон начинается процесс
  2. процесс проверки, если процесс B жива
  3. если процесс B не жив, процесс начинается процесс B

Проблема в том, что после того, как процесс завершается, процесс B прекращается также.

Процесс а процесс Б оба баш скрипт.

Я пытаюсь использовать бин/Баш script.sh & и старпома бин/Баш script.sh оба без успеха. Если я начну процесс из консоли, процесс не прекращается.

Это то, что я пытаюсь сделать, теоретически возможно (например, есть такой процесс начался с Процесс запущен из cron и он выживет). В которых другие способы, я мог бы начать процесс B, чтобы иметь его в силе даже после прекращения процесса?

+329
TotallyLegit25 16 апр. 2013 г., 17:51:03

Я намеревался зип папку, так что я использовал:

в gzip -Р папка

Когда я проверил выход, он был молнии все файлы в каталоге и его подкаталогах. Это не то, что я explected

Как я могу распаковать эти настолько много сжатые файлы в их исходное состояние?

+301
Tecnologer 8 янв. 2017 г., 05:39:14

Я использую виртуальную машину на Linux хост, используя в qemu+kvm, так и в libvirt, гостевой системы в CentOS 7. Я хочу поделиться папку между двумя такое, что хост:/некоторые/реж становится доступной как гость:/некоторые/другие/реж.

Я желаю, чтобы минимизировать усилия и не могут перекомпилировать ядро с обеих сторон. Я экспериментировал с plan9 , но не могу заставить его работать (в Р9 применением DKMS модуль не компилируется на ОС CentOS 7 оценки).

Там должен быть лучший способ? Производительность вторична, так как она не работает на всех сейчас.

+294
chikkenBroff888 3 янв. 2013 г., 21:33:25

В оболочке=newshell; метод exec "$Шелл" трюк уже были освещены.

Теперь, если вы хотите запускать команды через SSH использовать вашу новую оболочку. Если текущий логин Шелл - Баш, вы можете добавить это в ваш ~/.bashrc следующее:

если [ -н "$BASH_EXECUTION_STRING" ]; затем
 экспорт снаряд=/бин/ЗШ
 метод exec "$Шелл" -с "$BASH_EXECUTION_STRING"
интернет

Что будет выполнять что-то с новой оболочки, когда Баш запускается с Баш-с чем-то и он читает ~/.bashrc следующее.

Снаряды начали с Баш-С что-то вообще не читает ~/.bashrc следующее. Исключение-это когда те, Баш называется демон или rshd, или на баш-СК что-то.

Вы могли бы добавить проверку на [ -п "$SSH_CONNECTION" ] если вы только хотите покрыть СШ случае.

+270
arjuna siagian 2 нояб. 2010 г., 12:49:04

ввод в JSON:

[
{
 "идентификатор": "89",
 "имя": "АБВГД"
},
{
 "идентификатор": "89",
 "имя": "babcd"
}
]

Как изменить фильтр ниже, чтобы получить на выходе только имя хоста, начиная с "АБВГД"?

$ jq не -р '.[]|выбрать(.имя | содержит("АБВГД"))' гггг
{
 "идентификатор": "89",
 "имя": "АБВГД"
}
{
 "идентификатор": "89",
 "имя": "babcd"
}
$ jq не -р '.[]|выбрать(.имя | содержит("^АБВГД"))' гггг
$
+240
Jama 4 янв. 2013 г., 01:57:30

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

+224
Shamim Abdus 6 мар. 2013 г., 18:31:42

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

Рассмотрим символ перевода строки, пробелы, одинарные, теги и т. д.

<элемент />
<элемент></элемент>

Один и тот же - и тогда вы можете отступа, перевода строки, сплит-теги и т. д.:

<элемент 
att1="рыбки"
att2="морковь">

Также является допустимым.

Поэтому я бы настоятельно рекомендуем использовать парсер'. В Perl есть несколько вариантов - мне нравится в формате XML::прутик:

#!/usr/Бен/ОКР на Perl
использовать строгие;
использование предупреждений;
использовать XML::прутик;

мой $веточку = модуль XML::веточка->новый( 'pretty_print' => 'indented_a' )->разбор( \*сведения );

еогеасп мой $привет ( $веточку->findnodes('//привет') ) {
 если ( $привет->trimmed_text =~ м/collect_model/ ) {
 $привет->set_text('collect_model = 0');
}
}

_- >$удалить за $веточку->findnodes('//derta-конфиг');

$прутик->печать;

____Данных
<корень>
<мира>
 <привет>collect_model = 1</Здравствуйте>
 <привет>enable_data = 0</Здравствуйте>
 <привет>session_ms = 2*60*1000</Здравствуйте>
 <привет>max_collect = string_integer($экстракт("max_collect"))</Здравствуйте>
 <привет>max_collect = родительства(max_collect, max_collect, 1.0e99)</Здравствуйте>
<привет>вывод('{')</Здравствуйте>
</мира>
<derta-конфигурация>
<данные пользователей>2000</данных пользователей>
<тест-пользователей>2000</тест-пользователей>
 <атрибуты>Привет мир</атрибутов>
<клиент-типы>Клиент1</клиента-типы>
<цель>цене.мира</цель>
</derta-конфигурация>
</корень>

Потому что ты вроде как один-linering в Perl:

на Perl -кода MXML::веточку -0777 -е-мое $веточку = модуль XML::веточка->разбор (<>); $_->set_text("collect_model = 0") для grep { $_->текст =~ м/collect_model/ } $веточку->findnodes("//привет"); $_->удалить за $веточку->findnodes("//derta-конфигурация"); $веточку -> печать;'
+196
ronninaldo 16 мар. 2016 г., 22:23:02

Да, вы должны. Под Linux, вы можете даже смонтировать этот ISO как если бы это был реальный диск с помощью -петли o возможность монтажа. Под окнами, правда, вам понадобится специальная программа для эмуляции компакт-дисков.

Однако, это при условии что ДД не возвращает никаких ошибок, таких как ДД: чтение 'как/dev/sr0 успешно': ошибка ввода/вывода, Как это происходит, когда я пытаюсь сделать резервную копию некоторых дисков шахты.

+180
T888 19 июн. 2012 г., 03:07:27

Можно создать один каталог для всех файлов истории и установить HISTFILE в файле/etc/профиль соответственно. Например HISTFILE=/ВАР/somedir/история/${пользователь}_history то у вас в одном месте все файлы истории. Пользователь может переопределить HISTFILE, например в ее .bashrc следующее.

+44
Polosatina 23 янв. 2020 г., 04:07:30

Очевидным решением могло бы быть использование оболочки разбиение, но остерегайтесь несколько подводных камней:

ИФС=:
комплект -Ф
для dir в $Path; делать
маршрутизатор dir=${реж:-.}
 [ -х "${реж%/}/$1" ] && функции printf "%з\п" "$Дир"
сделано

Вам нужно установить -Ф , потому что, когда переменная слева без кавычек, как разбиение и именем поколения (подстановка) осуществляются по нему, и вот вы хотите только слово разделения (например, в маловероятном случае, что путь содержится в/usr/местные/*ОГРН*, вы хотите, чтобы это сделать, посмотрите в /usr/местные/*ОГРН* папки, не в /usr/местные/Бен и /usr/местные/sbin..., и если путь содержит /*/*/*/../../../*/*/*/*/../../../*/*/*/*вы не хотите принести свой аппарат вниз)

Пустой переменной$PATH компонент означает текущий каталог (.), не /. каталог$dir/$1 не будет правильно в этом случае. Обходной путь-как писать каталог$dir${реж:+/}$1 или чтобы изменить $Дир для . в этом случае (что дает более полезный выход при отображении с помощью функции printf '%з\п' "$Дир".

//фу - это не обязательно должен совпадать с именем/foo, так что если / в переменной$PATH, вы не хотите, чтобы каталог$dir/$1, который будет //$1. Следовательно, ${реж%/} в полоску косую черту.

Затем, есть несколько других проблем:

По пути$Path, ":" - это поле сепаратора , а за $МФС, это поле Терминатора (да, я знаю, С Для сeparator, виноват КШ и POSIX для стандартизации КШ поведения).

Так что если $путь это /usr/Бен:/ОГРН: (это плохая практика, но до сих пор часто встречается), это означает, что "/usr/Бен", "контейнер" и "" (то есть в текущем каталоге), в то время как оболочка разбиение на слова (в POSIX все снаряды, кроме ЗШ) будет разделен, что в /usr/Бен и /Бен только.

Если путь задан, но пустой, что означает: "искать в текущей директории". В то время как снаряды (в том числе и те, которые лечат $IFS в качестве разделителя) будет развернуть его на пустой список.

Последнее, но не менее. Если путь не определен, что имеет особое значение, а именно: посмотреть в системе поиска по умолчанию список, который, к сожалению, означает что-то другое в зависимости от того, кто (какая команда) Вы задать.

$ ОКР -у Баш-с пути 'тип usbipd'
usbipd является /usr/местные/sbin/usbipd
$ ОКР -у Пути КШ -с 'usbipd типа'
КШ: откуда: usbipd: не нашли

И в принципе, в вашем скрипте, вы должны были догадаться, что это путь поиска по умолчанию в контексте, что важно для вас.

Обратите внимание, что POSIX оставляет поведения неуточненное, когда путь не задан или пустой, так что не поможет вам там. Это также означает, что то, что я сказал выше, не может применяться к некоторым прошлых, текущих или будущих систем POSIX/UNIX систем.

Короче говоря, парсинг $путь , чтобы попытаться выяснить, где команда будет выполнена из сложное дело.

Есть стандартная команда для этого, которая является команда:

ls_path=$(команда -в ЛС)

Но что кто-то может спросить: почему вы хотите знать?

Теперь на восстановление МФС значение по умолчанию:

oldIFS=$МФС
ИФС=:
...
ИФС=$oldIFS

будет работать на практике в большинстве случаев, но не гарантирует работу в POSIX.

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

Другая потенциальная проблема-если обобщить этот подход и использовать его в много разных функций, так что если в ... части выше, вы вызываете функцию, которая делает то же самое (делает копию командами в $oldIFS), тогда вы потеряете оригинал $oldIFS и восстановить неправильно командами.

Вместо этого вы могли бы использовать подоболочек, когда это возможно:

(
ИФС=:
...
)
# МФС только в том случае, когда оказывают влияние, родитель все равно имеет свои МФС

Мой подход заключается в том, чтобы установить $МФС (и включить установить -Ф или нет) каждый раз, когда мне нужно слово разделения (что редкость) и не как восстановить предыдущее значение. Конечно, это не сработает, если ваш скрипт вызывает чужом коде, который не следовать этой практике и предполагает по умолчанию разбиение поведения.

+18
Serzhan Berdibekov 7 авг. 2017 г., 03:40:41

Показать вопросы с тегом