- +

Текущий рейтинг:
  • Руководство по допиливанию для новичка- от новичка 5 12

Автор: el guahiro Тема: Руководство по допиливанию для новичка- от новичка  (Прочитано 212527 раз)

Оффлайн el guahiro

  • Старожил
  • *****
  • Сообщений: 766
  • Репутация: +72/-3
    • Просмотр профиля
    • nn.ru
Как удалить пустые строчки в текстовых файлах Linux с помощью контекстного меню thunar
#How to remove empty lines in Linux text files using the context menu thunar
Делается это очень просто:
Создаем новые действие ПКМ Thunar: в файловом менеджере Правка>Особые действия>жмем плюсик
В окошечко Имя пишем:
удалить пустые строки в файле
В окошечке Команда пишем:
sed -i '/^$/d' %f
Условия появления (правая вкладка):
Ставим галку на "текстовые файлы"
Иконки можно никакой не выбирать, ведь появляться это действие ПКМ будет только при наведении на тестовые файлы.

Иногда возникает необходимость скопировать имя файла в буфер обмена без расширения.
Я использую для этого действие ПКМ thunar под названием "скопировать ТОЛЬКО имя файла".
Широко известно действие ПКМ thunar " скопировать имя файла", основанное на команде:
echo -n %f | xclip -selection clipboard
или модификация этого:
basename %f | xclip -selection clipboard
Это команда передаёт полное имя файла с расширением в буфер обмена.
Немного модифицировав эту команду можно получить действие "скопировать только имя файла":
basename %f | sed 's/\.doc\|\.docx\|\.xls\|\.xlsx\|\.pdf//g'| tr -d '\r\n' | xclip -selection clipboard
В условиях появления можно поставить галке везде.
Вы успели заметить, наверное, что командой sed я вырезаю только расширения офисных файлов. Аналогично список файлов в команде можно продолжить, добавив после pdf перед / выражение типа  \|\.png или \|\.jpeg или любое другое расширение.
« Последнее редактирование: Март 28, 2018, 22:04:35 от el guahiro »
Искренне Ваш
и посмотрите http://elguahiro.www.nn.ru/?page=gallery&MFID=183154
И вот я семь недель не брился, восемь суток ел грибы
и стал похож на человека героической судьбы
<БГ>

Оффлайн el guahiro

  • Старожил
  • *****
  • Сообщений: 766
  • Репутация: +72/-3
    • Просмотр профиля
    • nn.ru
Небольшое улучшение в систему.
Конфиг ПКМ Thunar, сжимающий PDF раза в три, без особой нагрузки на процессор и без потери качества.
Для работы этого действия ПКМ нужна установленная утилита ps2pdf:
sudo apt-get install ps2pdf
....итак, к созданию нового действия ПКМ.
Команда:
ps2pdf -dUseFlateCompression=true -dOptimize=true -dProcessColorModel=/DeviceRGB -dUseCIEColor=true -r72 -dDownsampleGrayImages=true -dAutoFilterColorImages=false -dDownsampleColorImages=true -dDownsampleMonoImages=true -dGrayImageDownsampleType=/Bicubic %f ~%n;rm %n;rename 's/~//' ~%n
Условия появления:
- шаблон имени файла:  *.pdf;*.PDF
- галка "другие"
Это действие ПКМ сжимает только один файл.
Для пакетного сжатия можно написать скрипт на эту команду.
Как это работает


Для пакетного сжатия PDF можно выполнить следующую команду:
for i in *.pdf ; do ps2pdf -dUseFlateCompression=true -dOptimize=true -dProcessColorModel=/DeviceRGB -dUseCIEColor=true -r72 -dDownsampleGrayImages=true -dAutoFilterColorImages=false -dDownsampleColorImages=true -dDownsampleMonoImages=true -dGrayImageDownsampleType=/Bicubic "$i" "$i".2 ; mv -v "$i".2 "$i" ; done
вышеприведенная команда сжимает ВСЕ файлы PDF в директории.
Можно создать файл fast-resize-pdf.sh такого содержания:
#! /bin/bash
for i in *.pdf *.PDF ; do ps2pdf -dUseFlateCompression=true -dOptimize=true -dProcessColorModel=/DeviceRGB -dUseCIEColor=true -r72 -dDownsampleGrayImages=true -dAutoFilterColorImages=false -dDownsampleColorImages=true -dDownsampleMonoImages=true -dGrayImageDownsampleType=/Bicubic "$i" "$i".2 ; mv -v "$i".2 "$i" ; done
и забросить этот скрипт в систему (войдя терминалом в папку со скриптом), предварительно дав скрипту права на выполнение:
sudo chmod 777 ./fast-resize-pdf.sh && sudo mv ./fast-resize-pdf.sh /usr/sbin/
и повесить команду пакетного сжатия на ПКМ thunar:
fast-resize-pdf.sh %F;notify-send готово!
Условия: Директории, Другие
Иконка: какая хотите.
Как это работает


интересно, что данный скрипт не меняет метаданные PDF, в то время как другие сжималки добавляют в метаданные кучу мусора
« Последнее редактирование: Апрель 01, 2018, 10:18:33 от el guahiro »
Искренне Ваш
и посмотрите http://elguahiro.www.nn.ru/?page=gallery&MFID=183154
И вот я семь недель не брился, восемь суток ел грибы
и стал похож на человека героической судьбы
<БГ>

Оффлайн el guahiro

  • Старожил
  • *****
  • Сообщений: 766
  • Репутация: +72/-3
    • Просмотр профиля
    • nn.ru
Небольшое улучшение в систему.
Я писал уже в этой теме форума про пакетный поворот файлов PDF с помощью консольных команд, сочинял даже какие-то колхозные скрипты, и записывал видео по их работе.
И вот наконец нашлось время, чтобы допилить скрипты и  сделать поворот всех файлов в папке с помощью одного действия ПКМ Thunar.
Итак
пакетный поворот файлов PDF  с помощью одного действия ПКМ Thunar
batch rotate PDF files with only one custom action Thunar

Сначала скрипты.
скрипт rotate-left.sh:
#!/bin/sh
IFS=$'\n'
rename 'y/A-Z/a-z/' *.PDF
for i in $"$@" ; do ps2pdf -dUseFlateCompression=true -dOptimize=true -dProcessColorModel=/DeviceRGB -dUseCIEColor=true -r72 -dDownsampleGrayImages=true -dAutoFilterColorImages=false -dDownsampleColorImages=true -dDownsampleMonoImages=true -dGrayImageDownsampleType=/Bicubic "$i" "$i".2 ; mv -v "$i".2 "$i"; pdftk $i cat 1-endwest output "$i".2 ; mv -v "$i".2 "$i"; done
      exit
                 fi)
скрипт rotate-right.sh:
#!/bin/sh
IFS=$'\n'
rename 'y/A-Z/a-z/' *.PDF
for i in $"$@" ; do ps2pdf -dUseFlateCompression=true -dOptimize=true -dProcessColorModel=/DeviceRGB -dUseCIEColor=true -r72 -dDownsampleGrayImages=true -dAutoFilterColorImages=false -dDownsampleColorImages=true -dDownsampleMonoImages=true -dGrayImageDownsampleType=/Bicubic "$i" "$i".2 ; mv -v "$i".2 "$i"; pdftk $i cat 1-endeast output "$i".2 ; mv -v "$i".2 "$i"; done
      exit
                 fi)
Скрипты нечувствительны к регистру букв "PDF", к пробелам в именах файлов, поворачивают файлы PDF, перед этим поджав их в 1,5-3 раза (фактически, удалив мусор, который может помешать работе скрипта).
Забрасываем скрипты в /sbin/
Потом добавляем два действия ПКМ Thunar - повернуть PDF вправо и влево
За неимением времени (завтра на работу), не даю лирического описания, а лишь кусок конфига Thunar (т.е. файла ~/.config/Thunar/uca.xml):
<action>
<icon>/usr/share/icons/el_guahiro/left.png</icon>
<name>повернуть PDF против часовой</name>
<unique-id>1522618274096814-51</unique-id>
<command>rotate-left.sh %F;sleep 7;notify-send готово!</command>
<description></description>
<patterns>*.pdf;*.PDF</patterns>
<other-files/>
</action>
<action>
<icon>/usr/share/icons/el_guahiro/rigt.png</icon>
<name>повернуть PDF по часовой</name>
<unique-id>1522618282992891-52</unique-id>
<command>rotate-right.sh %F;sleep 7;notify-send готово!</command>
<description></description>
<patterns>*.pdf;*.PDF</patterns>
<other-files/>
</action>
Это дейстаие ПКМ поворачивает только выделенные файлы.
За подсказки большое спасибо коллеге Pit`у!
Как это работает


Надеюсь, что был полезен
Искренне Ваш, el guahiro
« Последнее редактирование: Апрель 07, 2018, 19:13:48 от el guahiro »
Искренне Ваш
и посмотрите http://elguahiro.www.nn.ru/?page=gallery&MFID=183154
И вот я семь недель не брился, восемь суток ел грибы
и стал похож на человека героической судьбы
<БГ>

Оффлайн el guahiro

  • Старожил
  • *****
  • Сообщений: 766
  • Репутация: +72/-3
    • Просмотр профиля
    • nn.ru
Небольшое улучшение в систему.
У меня в компьютере умолчальным просмотрщиком PDF установлено Llpp.  Llpp - молниеносный просмотрщик любых файлов pdf, но печатать из этой программы нельзя. Да и вообще, часто необходимо срочно что-то распечатать, и некогда (или неохота) открывать файлы.
В данном случае поможет действие ПКМ Thunar
"Распечатать на бумаге"
Команда:
lp -d ваш-принтер %f
(как вариант, команда lp %f, если бумажный принтер установлен у вас принтером по умолчанию).
Условия появления:
Изображения, другие файлы, текстовые файлы.
Иконка любая, но лучше с изображением принтера.
Как называется принтер в системе, можно посмотреть, открыв браузер и скопировав в адресную строку:
http://localhost:631/printers
Можно распечатывать и в  PDF, если у вас установлен виртуальный принтер: команда  lp %f.
Печать идет в настройках принтера по умолчанию.
Вместо F в командах можно поставить F
Искренне Ваш
и посмотрите http://elguahiro.www.nn.ru/?page=gallery&MFID=183154
И вот я семь недель не брился, восемь суток ел грибы
и стал похож на человека героической судьбы
<БГ>

Оффлайн FreT

  • Начинающий
  • *
  • Сообщений: 28
  • Репутация: +1/-0
    • Просмотр профиля
Добрый день, делаю jobs -p | xargs kill
выдаёт
$ jobs -p | xargs kill

Usage:
 kill [options] <pid> [...]

Options:
 <pid> [...]            send signal to every <pid> listed
 -<signal>, -s, --signal <signal>
                        specify the <signal> to be sent
 -l, --list=[<signal>]  list all signal names, or convert one to a name
 -L, --table            list all signal names in a nice table

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see kill(1).


Оффлайн el guahiro

  • Старожил
  • *****
  • Сообщений: 766
  • Репутация: +72/-3
    • Просмотр профиля
    • nn.ru
FreT
ты прав, у меня тоже хрень, сорри, прости жертву копипасты :(
не беда...
Пробую найти процессы, запущенные не позже, чем сразу .... мин после старта системы и убить остальные через kill
Рассмативаю выхлоп:
ps -eo etimes,pid,cmd после перезагрузки и вижу, что 4085 -  последний процесс при загрузке системы
Пишу:
gksu kill `ps -eo etimes,pid,cmd | awk '{if ($2 >= 4085) print $2}'`
Также вижу, что 120 - время в  загрузки последнего процесса секудах, при загрузке системы
Пишу:
или gksu kill `ps axh -O etimes,pid | awk '$1 >= 120'| awk '{print $2}'`
Чтобы периодически вернуть систему в девственное  состояние, когда загрузка процессора была минимальной - вешаю команду  на хоткей.
« Последнее редактирование: Апрель 15, 2018, 21:33:59 от el guahiro »
Искренне Ваш
и посмотрите http://elguahiro.www.nn.ru/?page=gallery&MFID=183154
И вот я семь недель не брился, восемь суток ел грибы
и стал похож на человека героической судьбы
<БГ>