Почему я использую Ubuntu на десктопах, планшете, ноутбуках и серверах

Ubuntu 17.10 + XFCE + Dolphin. Именно Ubuntu потому, что на ней все просто работает, я могу и в кишках системы покапаться, изучить ее внутреннее устрйоство или подебажить проблему, могу и пакет собрать или пересобрать существующий, но и могу спокойно заняться чем-то другим, начиная от несвязанных с программированием вещей и заканчивая непосредственно программированием, например, https://github.com/mikhailnov/dumacast (на сильно большее пока не способен, к сожалению, но еще ядро для планшета поверхностно ковыряю), не отвлекаясь на посторонние вещи, как постоянно приходилось на Росе: то пакета нет, то что-то сломано, а то что-то внезапно ломается в произвольное время после обновления (например, Kazam).
А еще это единая платформа для десктопов, планшета (у меня на Chuwi Hi12 — Ubuntu), ноутбуков и серверов. На серверах Ubuntu тоже позволяет не отвлекаться на ерунду, т.к. в ней и ее пакетах уже сделано много того, что в какой-нибудь CentOS нужно делать вручную. Единая платформа важна, чтобы уметь работать с одной системой, например, с пакетным менеджером, но делать это хорошо и быть способным что-то починить на коленке.

Дебиановская пакетная система и набор утилит для работы с пакетами — шикарны! И они есть в Ubuntu. Никакой pacman из Arch и рядом не курил.

Обход запретов на доступ к сайтам, Telegram и скачивание торрентов. Tor как локальный прокси на Linux/UNIX.

Как известно, «хитровыделанный» Мегафон блокирует скачку торрентов через свои USB-модемы с 7:00 до 1:00… Но есть способы «хакнуть» это ограничение! 😉 С другой стороны, эти ограничения правильны, потому как какой-нибудь умник начнет качать торренты в час-пик и забьет всю ноду своим трафиком, а пропускная способность канала базовой станции строго ограничена, многие БС вообще не имеют оптоволоконного подключения и соединены с соседней БС узким радиорелейным каналом; здесь раздражает не только то, что ограничения есть, а то, что маркетологи обещают высокие скорости, а технари вынуждены всеми правдами и неправдами их поддерживать; в целом это правильно, но нужно немного честнее объяснять ситуацию, не думаю, что большинство людей до конца осознает причины этих ограничений.

Способ 1: скачиваем торренты и ходим на заблокированные сайты через Tor на Linux

1. Устанавливаем пакет tor из репозитория вашего дистрибутива:
Читать далее Обход запретов на доступ к сайтам, Telegram и скачивание торрентов. Tor как локальный прокси на Linux/UNIX.

Восстановление пакетов на Archlinux/Manjaro

Получение списка установленных пакетов для быстрого восстановления системы с помощью pacman.
Хорошей практикой является сохранение списка всех установленных пакетов. Если ваша система «упала» и её сложно восстановить, pacman может легко переустановить эти пакеты.

Сначала сохраните в список пакеты (доступные в репозитории):

pacman -Qqe | grep -v "$(pacman -Qmq)" > pkglist

Безопасная, но и более сложная альтернатива (во избежание удаления частичных совпадений):

comm -13 <(pacman -Qmq | sort) <(pacman -Qqe | sort) > pkglist

Сохраните этот файл на флэшке или на другом носителе.

Скопируйте файл pkglist в новую систему, перейдите в эту папку. Для восстановления используйте команду:

pacman -S $(cat pkglist)

Хочу заметить, для восстановления программ, установленных из aur, этот метод не работает.

Дополнение от Ивана Архипова
Получение списка пакетов установленных и из AUR:

sudo pacman -Qe > pkglist2

Восстановление:

yaourt -S $(cat pkglist2)

Автор: Олег Плужник
Другие публикации статьи: vk.com/nixscript

Ускорение и настройка Chromium/Chrome/Яндекс.Браузера/Vivaldi на Linux

В этой статье рассмотрим, как выжать все соки из Хромиума и максимально ускорить его или другой браузер на его движке (Chromium, Google Chrome, Opera, Vivaldi, Яндекс и др.). За счет включения многих экспериментальных возможностей по вынесу вычислений с процессора на видеокарту и включения использования находящихся в разработке программных алгоритмов. За счет этого наш любимый хромиум станет работать быстрее, может перестать тормозить или моргать экраном.

Поехали!
Читать далее Ускорение и настройка Chromium/Chrome/Яндекс.Браузера/Vivaldi на Linux

Выводим в терминале построчно все синонимы или антонимы к заданному слову в английском языке

Выводим в терминале построчно все синонимы к заданному слову в английском языке:
$ wn eliminate -synsv -synsa -synsn -synsr | grep -E '=>' | awk -F '=>' '{print $2}' | sed 's/, /\n/g' | sed 's/ //g'
где eliminate — заданное слово.
Программа wn входит в пакет wordnet (sudo urpmi wordnet / sudo apt install wordnet).

Аналогично для антонимов:
$ wn eliminate -antsv -antsa -antsn -antsr | grep -E '=>' | awk -F '=>' '{print $2}' | sed 's/, /\n/g' | sed 's/ //g'

Если почитаете man wn, то узнаете, что a — прилагательные, v — глаголы, n — существительные, r — наречия, а выше мы ищем все части речи сразу.

Пример:

user@ChuwiHi12-Linux:~$ wn eliminate -synsv | grep -E '=>' | awk -F '=>' '{print $2}' | sed 's/, /\n/g' | sed 's/ //g'
destroy
destruct
kill
exhaust
discharge
expel
eject
release
beat
beatout
crush
shell
trounce
vanquish
remove
take
takeaway
withdraw

Перевод справки по команде trans

Translate Shell (ранее Google Translate CLI) — это программа-переводчик для командной строки терминала основанный на Google (по умолчанию), Bing переводчик, Яндекс.Перевод и Apertium. Это дает вам легкий доступ к одному из этих движков перевода в терминале.

Translate Shell брать отсюда: https://github.com/soimort/translate-shell
Установить прямо в терминале, не заходя в браузер:

$ wget git.io/trans
$ chmod +x ./trans
$ chown root:root ./trans
$ sudo mv ./trans /usr/bin/trans

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

$ trans -t ru -b -d -no-autocorrect "Текст для перевода"

Удобно в скриптах использовать.

Читать далее Перевод справки по команде trans

etxt Антиплагиат, deb пакет для Ubuntu

Сегодня вечером довольно долго провозился с опакечиванием бинарной сборки eTXT Антиплагиат (проприетарщина). В итоге все оказалось проще, чем я думал. Если кто хочет посмотреть на исходники сборки deb-пакета, то могу их выложить.
Если кто хочет установить eTXT Антиплагиат к себе, то можете воспользоваться репозиторием (в теории подойдет для всех более-менее свежих релизов Debian/Ubuntu, а так тестируется с Ubuntu 16.04):

wget -q -O- http://repo.dumalogiya.ru/keys/mikhailnov_pub.gpg | sudo apt-key add - && cd /etc/apt/sources.list.d/ && sudo wget http://repo.dumalogiya.ru/dumalogiya-xenial.list && sudo apt update && sudo apt install etxt-antiplagiat

Вот прямая ссылка на deb-пакет, без добавления репозитория: http://repo.dumalogiya.ru/aptly/public/pool/main/e/etxt-antiplagiat/etxt-antiplagiat-2.0.97.0.deb

Из косяков пакетирования: прописана иконка от Abiword, нормальную позже добавлю. Ну и в качестве зависимостей кое-что еще, необходимое для работы встроенного Qt i386, не помешает прописать, но это кое-что и так установлено в 99% случаев. Собственно, если подскажете конкретнее, то пропишу прямо сейчас. Пока прописаны зависимости: libgstreamer-plugins-base0.10-0, gir1.2-gstreamer-0.10 (i386). Еще нужно сделать симлинк /usr/bin/etxt-antiplagiat —> /opt/etxt-antiplagiat/EtxtAntiplagiat.sh, это тоже добавлю в пакет (нужен только для того, чтобы удобно запускать из консоли)

Какие программы инженер использует на Linux?

Источник, автор.

1. BricsCAD.
САПР уровня AutoCAD и SolidWorks. Причём с иным подходом к проектированию, который, на мой взгляд, значительно удобнее нежели АС и SW.

2. Draftsight
Аналог AutoCAD. Близок к последнему по оформлению и возможностями.

3. KiCAD
Мощный свободный комплекс ПО для проектирования печатных плат.
Аналог Altium.
Включает в себя:
— kicad — менеджер проектов;
— eeschema — редактор электрических схем;
— встроенный редактор символов схем (библиотечных компонентов);
— cvpcb — программа для выбора посадочных мест, соответствующих компонентам на схеме;
— pcbnew — редактор печатных плат;
— встроенный редактор образов посадочных мест (библиотечных компонентов);
— 3D Viewer — 3D-просмотрщик печатных плат на базе OpenGL (часть pcbnew);
— gerbview — просмотрщик файлов Gerber (фотошаблонов);
— wyoeditor — текстовый редактор для просмотра отчётов;
— bitmap2componrnt — инструмент для создания логотипа из изображения;
— универсальный калькулятор печатных плат.

4. Qucs
ПО, предназначенная для моделирования электронных цепей. Позволяет моделировать электронную аппаратуру в режиме малого и большого сигнала, а также шумовые характеристики. Цифровая аппаратура моделируется с использованием VHDL и/или Verilog.
Включает в себя большую постоянно пополняемую библиотеку моделей электронных компонентов, поддерживает подцепи SPICE. Выгодно отличается от других симуляторов, таких как gEDA или PSpice, простотой работы оператора и интуитивно понятным пользовательским интерфейсом.
Виды моделирования, поддерживаемые программой включают:
— Моделирование по постоянному току;
— Моделирование по переменному току;
— Гармонический баланс;
— Цифровое моделирование;
— Моделирование переходных процессов;
— Моделирование S-параметров;
— Развёртка по параметру;
— Оптимизация.
Результаты моделирования могут быть представлены в диаграмм различного типа:
— Таблицы;
— Графики в декартовых координатах;
— Трёхмерные диаграммы в декартовых координатах;
— Диаграммы в полярных координатах;
— Круговые диаграммы;
— Диаграммы Смита;
— Диаграммы Смита (проводимости);
— Смешанные диаграммы полярные/Смита;
— Временные диаграммы;
— Таблицы истинности.

5. Fritzing
Эта программа — своего рода конструктор, разработанный для того, чтобы облегчить процесс прототипирования проектов на базе популярных платформ: Arduino, Raspberry Pi и многих других. В ней хранится огромное количество виртуальных моделей самых разных платформ, компонентов и модулей, которые вы можете расставлять на рабочем поле и подключать к макетной плате, создавая таким образом принципиальную схему вашего будущего устройства. Более того, во Fritzing можно набросать даже макет печатной платы, чтобы в будущем её изготовить.

6. Arduino
Свободная интегрированная среда разработки Arduino — это кроссплатформенное приложение на Java, включающее в себя редактор кода, компилятор и модуль передачи прошивки в плату.
Среда разработки основана на языке программирования Processing и спроектирована для программирования новичками, не знакомыми близко с разработкой программного обеспечения. Язык программирования аналогичен используемому в проекте Wiring. Строго говоря, это C/C++, дополненный некоторыми библиотеками. Программы обрабатываются с помощью препроцессора, а затем компилируется с помощью AVR-GCC.

7. Scilab
Мощный свободный пакет компьютерной математики, предназначенный для выполнения инженерных и научных вычислений. По возможностям пакет Scilab практически не уступает Mathcad, а по интерфейсу близок к Matlab. В Scilab реализованы численные методы решения следующих задач вычислительной математики, среди которых можно выделить следующие: — задачи линейной алгебры;
— нелинейные уравнения и систем;
— задачи оптимизации, при решении которых следует обратить внимание на несколько нестандартный синтаксис;
— дифференцирование и интегрирование;
— обработка экспериментальных данных (интерполяция и метод наименьших квадратов);
— обыкновенные дифференциальные уравнения и системы.
В Scilab есть встроенные функции для численного решения большинства стандартных математических задач. Для решения нестандартных задач в Scilab есть довольно мощный объектно-ориентированный язык программирования (sci-язык), с помощью которого пользователь может создавать свои визуальные приложения (с использованием встроенных функций), которые могут выполняться, как отдельные программы в среде Scilab.
Графические возможности Scilab не уступают проприетарным математическим пакетам. Следует обратить внимание на то, что в состав Scilab входит Xcos — система компьютерного моделирования, аналогичная Simulink.

8. Octave.
Аналог Scilab.

9 GanntProject
Свободное ПО, предназначенное для планирования проектов, учёта занятости вовлечённых в проекты сотрудников и т.д.

10. Slic3r
11. RepetierHost
и 12. Simplify3D
Это мощное свободное ПО, которое преобразует файлы 3D-деталей в инструкции, понимаемые 3D-принтерами (например, в gcode). Кроме того, посредством этого ПО можно управлять работой 3D-принтера (нагревом экструдера и стола, вентиляцией, скоростью печати, толщиной слоя и т.д.).

13. QElectro Tech
GJ для проектирования электрических, гидравлических, механических схем. Позволяет создавать схемы, используя большой набор функциональных элементов.

14. Master PDF Editor
Создание, редактирование и работа с pdf.

15. Calibre.
Читалка книг.

16. Rainlendar.
Ежедневник.

Ну, и всем известные LO, Gimp, Inkscape, Ardour, Audacity, Kdenlive и масса других.

Графические артефакты в BricsCAD на Linux на видеокартах AMD

Устраняем графические артефакты в BricsCAD на свободных драйверах AMD. Настройка GL Swap Mode.
Было (дефолтные настройки, есть артефакты):

Стало (артефакты исчезли такими настройками):

BricsCAD + Linux + темная тема GTK2 = корявый интерфейс

Запустим его с белой темой!

GTK2_RC_FILES="/usr/share/themes/Adwaita/gtk-2.0/gtkrc" bricscadv17


GTK2_RC_FILES=/usr/share/themes/Nodoka/gtk-2.0/gtkrc bricscadv18