- +

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

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

Оффлайн el guahiro

  • Старожил
  • *****
  • Сообщений: 780
  • Репутация: +74/-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

  • Старожил
  • *****
  • Сообщений: 780
  • Репутация: +74/-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

  • Старожил
  • *****
  • Сообщений: 780
  • Репутация: +74/-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

  • Старожил
  • *****
  • Сообщений: 780
  • Репутация: +74/-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

  • Старожил
  • *****
  • Сообщений: 780
  • Репутация: +74/-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
И вот я семь недель не брился, восемь суток ел грибы
и стал похож на человека героической судьбы
<БГ>

Оффлайн el guahiro

  • Старожил
  • *****
  • Сообщений: 780
  • Репутация: +74/-3
    • Просмотр профиля
    • nn.ru
Русификация программы indicator-remindor
Очень хорошая программа для напоминаний. Есть в репозиториях, но по умолчанию не русифициована, оттого пользоваться ей затруднительно. Это поправимо.
Качаем архив translate-indicator-remindor.7z, приложенные к этому посту, распаковываем, потом попеременно заходим терминалом в папки mo, po и html и и вводим следующие команды.
Для папки mo:
sudo cp -iv mo/* /usr/share/locale/ru/LC_MESSAGES/
Для папки po:
sudo cp -iv po/* /usr/share/locale/ru/LC_MESSAGES/
Для папки html:
sudo cp -iv html/* /usr/share/remindor-common/html/
Таким образом мы забросили файлы русской локализации программы в систему.
Перезагружаемся. Наслаждаемся русским интерфейсом.
Выглядит так
Надеюсь что был полезен. Искренне ваш el guahiro.
« Последнее редактирование: Май 06, 2018, 13:22:16 от el guahiro »
Искренне Ваш
и посмотрите http://elguahiro.www.nn.ru/?page=gallery&MFID=183154
И вот я семь недель не брился, восемь суток ел грибы
и стал похож на человека героической судьбы
<БГ>

Оффлайн vk17

  • Начинающий
  • *
  • Сообщений: 1
  • Репутация: +0/-0
    • Просмотр профиля
Спасибо за indicator-remindor.

Оффлайн el guahiro

  • Старожил
  • *****
  • Сообщений: 780
  • Репутация: +74/-3
    • Просмотр профиля
    • nn.ru
Я, вероятно как и Вы, отношусь к тому типу людей, которые создают контент.
Ежедневно мне приходится делать фотографии, акты, протОколы, докУменты пачками, обязанности менеджера строительных проектов это предполагает. Частенько документы по одному и тому же объекту однотипные и отличаются лишь датой создания. В таком случае выручает добавление даты к названию документа. Добавление даты к название документа также облегчает жизнь, когда хочется вспомнить что ты делал какого-то определённого числа - задаешь поиск по ключевой дате в названии файла, и готово.
Поскольку я очень ленив, то вбивать руками дату в названия файлов мне влом. Для этой задачи был придуман скрипт rename-with-date.sh и ПКМ thunar под названием "Добавить дату к названию".
Команда в основе ПКМ thunar:
rename-with-date.sh %F;notify-send 'дата добавлена!'
Содержание скрипта rename-with-date.sh:
#!/bin/bash
for i in "$@"; do
   mv -v "$i" "${i%.*}"' '`date +%x`."${i##*.}"
   done
Собственно всё очень просто - создаете файл, называете его rename-with-date.sh, открываете его в текстовом редакторе и записываете туда вышеперечисленные строчки с абракадаброй.
Скрипт закидываем в систему, например в каталог /sbin/, предварительно сделав скрипт исполняемым командой терминала, открытого в папке со скриптом:
sudo chmod 777 ./rename-with-date.sh && sudo mv ./rename-with-date.sh /sbin/
Скрипт не работает с файлами без расширения.
Как расставлять галочки в настройке действия ПКМ показано на скриншоте.

Надеюсь что был полезен. Искренне ваш. el guahiro.

PS. Особая благодарность коллеге PIT`у за помощь в допиливании скрипта.
« Последнее редактирование: Май 21, 2018, 20:22:40 от el guahiro »
Искренне Ваш
и посмотрите http://elguahiro.www.nn.ru/?page=gallery&MFID=183154
И вот я семь недель не брился, восемь суток ел грибы
и стал похож на человека героической судьбы
<БГ>

Оффлайн el guahiro

  • Старожил
  • *****
  • Сообщений: 780
  • Репутация: +74/-3
    • Просмотр профиля
    • nn.ru
В связи с большим количеством данных на моем основном ноутбуке, частыми поездками и необходимостью иметь всегда под рукой эти данные я пользуюсь средствами синхронизации с распространенными облаками - ЯндексДиск, MailruДиск, Mega.
Каждое из этих облаков имеет свои достоинства и недостатки. ЯндексДиск, например, подключается в компьютере в качестве каталога (папки), но скорость передачи данных оставляет желать. Есть клиент синхронизации, но он сильно грузит процессор. Объем предоставляемой хранилище хорош, бывают акции и можно увеличить объем хранилища до 50 Гб.
Мега дает на старте 50 Гб, адекватно синхронизируется, имеет легий и удобный клиент синхронизации с компьютером, но скачать что-либо с облачной версии иногда бывает проблемно. MailruДиск из всех перечисленных имеет наибольший объем бесплатного хранилища (например у меня 100 Гб, полученные с помощью небольших трюков), имеет неплохой и не тяжёлый клиент синхронизации под Ubuntu, и единственная из трех перечисленных синхро синхронизирует симлинки Linux в качестве симлинков, а не выдает ошибку или игнорирует.
Вообще симлинки очень нужны, когда объем данных грозит переполнением жесткого диска. Я их активно использую и поэтому люблю MailruДиск.
Одна беда - MailruДиск не любит названия файлов с кавычками. Обнаружив файл с кавычками, MailruДиск выдает ошибку и перестаёт синхронизировать. И никогда не уследишь, так что бывает что нет нет, да и попадется пара файлов с кавычками в названии.
Удалить (или заменить на `) кавычки в названиях файлов можно, открыв терминал в нужной директории и набрав:
rename 's/"/`/gi' *
Но эта команда почему-то не работает во вложенных папках. Вероятно, это баг утилиты rename, или я что-то не догоняю. Не беда. Открыв терминал в нужной директории, пишу:
IFS=$'\n' ; for i in `find ./` ; do rename 's/"/`/gi' "$i" ; done
Потом, чтобы найти слова с кавычками, пишу в терминале:
ls -R | grep '"'
Ничего не нашлось. Значит получилось.
В дополнение хочу сказать, что с помощью данного трюка можно менять во всей директории одно слово названии файла на другое (поставив вместо " и ` что-то другое). Иногда это очень нужно, а когда файлов очень много, кто такой трюк сильно облегчит жизнь.
Искренне Ваш
и посмотрите http://elguahiro.www.nn.ru/?page=gallery&MFID=183154
И вот я семь недель не брился, восемь суток ел грибы
и стал похож на человека героической судьбы
<БГ>

Оффлайн el guahiro

  • Старожил
  • *****
  • Сообщений: 780
  • Репутация: +74/-3
    • Просмотр профиля
    • nn.ru
Немного красоты в систему.
Так как я работаю в госкорпорации, да еще и на производстве, да еще и без привязки к дню и ночи, субботам и воскресеньям, то к календарю у меня особое отношение - вещь это для меня нужная и выглядеть он должен приятно. Поскольку я уже немножечко линуксоид, кто терминал я допилил под свои каноны красоты, с прозрачностью и приятными для глазу цветами. Вот в нём и будем открывать календарь.
Создаем действие ПКМ Thunar под названием "календарь".
Открываем любую папку и тыкаем Правка>Особые действия> в выпадающем окне тыкаем плюсик сверху справа> появляется диалоговое окно с двумя вкладками для заполнения. Заполняем:
В левой вкладке команда: xfce4-terminal -H -e "cal 2018"
В правой в кладке ставим галку условия появления:"каталоги"
Иконка: Стандартная иконка календаря.
Теперь при нажатие ПКМ "Клендарь" открывается легкий красивый календарик на весь текущий 2018 год.
Мелочь, а приятно.
Но хочется ещё большей красоты, и команду делаю такую: xfce4-terminal -H -e "cal 2018 | lolcat -as 25"
Предварительно установив утилиту lolcat:
sudo aptitude install lolcat
В терминале по команде:
cal 2018 | lolcat -as 25
календарь открывается медленнее, но зато переливающийся всеми цветами радуги.
По ПКМ что-то не открывается. Где-то походу нужны кавычки...
Выглядит это приблизительно так:

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

Оффлайн PitBelon

  • Постоялец
  • **
  • Сообщений: 77
  • Репутация: +8/-2
    • Просмотр профиля
    • Belon.OS Linux
El Guahiro, кавычки там не нужны. Открывается календарь при выполнении вот такой команды в ПКМ:

cal 2018 >/tmp/f ; xfce4-terminal -e 'lolcat -as 25 /tmp/f'

Только одно не нашёл как делать: как заставить его не пропасть после того, как все месяцы выведутся на экран...
С уважением, Пётр Белон
www.belon.xyz

Оффлайн el guahiro

  • Старожил
  • *****
  • Сообщений: 780
  • Репутация: +74/-3
    • Просмотр профиля
    • nn.ru
Немного для удобства для офисной работы.
Мне ежедневно приходят документы типа: название(1).doc, другое название(3).pdf и т.п.  -   особенности копроративного документооборота.
Причем это зачастую мои же документы с чьей-то начальственно визой, которые  мне пересылают в качестве инструкций к дальнейшей работе.
Чтоб не запутаться в версиях, приходиться эти циферки стирать перед сохранением в целевую тематическую папку (или каталог), а файлы копировать с заменой, чтоб минимизировать количество просматриваемых документов (при таком способе сохраняются документы с последними визами и пометками).
...к чему это я... а да..
Ну вот, и придумал я действие ПКМ Thunar под названием "Убрать скобки с цифрами (123456..)"
Команда:
rename 's/\([^\)]+\)//' *.doc & rename 's/\([^\)]+\)//' *.pdf
Условие появления:
Каталоги.
Теперь по ПКМ циферки в названиях стираются.
Способ универсален, т.к. вместо ([^\)]+\) можно поставить другое слово и оно сотрется. ПКМ при этом переименовываем под целевую задачу. Можно вместо //' *.doc записать /что-то/' *.doc и искомое выражение будет меняться на это что-то.
Искренне Ваш
и посмотрите http://elguahiro.www.nn.ru/?page=gallery&MFID=183154
И вот я семь недель не брился, восемь суток ел грибы
и стал похож на человека героической судьбы
<БГ>

Оффлайн el guahiro

  • Старожил
  • *****
  • Сообщений: 780
  • Репутация: +74/-3
    • Просмотр профиля
    • nn.ru
#open heic pictures in linux
Прислали тут мне несколько изображений в формате heic. Это формат фотографий Apple, который по умолчанию в Linux не открывается.
Но можно открыть его с помощью Gimp, установив плагин gimp отсюда https://launchpad.net/~strukturag/+archive/ubuntu/libheif/+packages
Правда придётся доставить пару зависимостей (о которых Вам скажет Gdebi), но для труЪ линуксоида это труда не составит.
У меня получилось (хотя не труЪ линуксоид :(). Даже картинки предпросмотра в папке с изображениями появились.
Иллюстрация
« Последнее редактирование: Июнь 08, 2018, 16:23:47 от el guahiro »
Искренне Ваш
и посмотрите http://elguahiro.www.nn.ru/?page=gallery&MFID=183154
И вот я семь недель не брился, восемь суток ел грибы
и стал похож на человека героической судьбы
<БГ>

Оффлайн Pirks77

  • Начинающий
  • *
  • Сообщений: 8
  • Репутация: +1/-0
    • Просмотр профиля
Немного для удобства для офисной работы.
Мне ежедневно приходят документы типа: название(1).doc, другое название(3).pdf и т.п.  -   особенности копроративного документооборота.
...
Команда:
rename 's/\([^\)]+\)//' *.doc & rename 's/\([^\)]+\)//' *.pdf
Условие появления:
Каталоги.
Теперь по ПКМ циферки в названиях стираются.
Способ универсален, т.к. вместо ([^\)]+\) можно поставить другое слово и оно сотрется. ПКМ при этом переименовываем под целевую задачу. Можно вместо //' *.doc записать /что-то/' *.doc и искомое выражение будет меняться на это что-то.
Строку можно сократить используя функцию оболочки bash
rename 's/\([^\)]+\)//' *.{doc,rtf,pdf}
« Последнее редактирование: Июнь 09, 2018, 07:41:37 от Pirks77 »