Статьи

Инструменты производительности Linux для меня

Это стек / инструменты, которые помогают мне продуктивно работать с Linux в повседневной жизни .

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

Linux — мой выбор уже несколько лет, и в этом посте не будут подробно объяснены причины, скорее я остановлюсь на инструментах / утилитах, которые помогают мне выжить в этом мире.

Distro

Ну, начнем с нуля. У меня нет явного победителя здесь. На самом деле я использую в настоящее время 3 разных устройства (здесь не учитывались мой маршрутизатор и телефон):

  • Fedora — на моем рабочем ноутбуке
  • Xubuntu — на моем домашнем ноутбуке
  • Raspbian (Debian) — на моем сервере Raspberry Pi

На самом деле информация, представленная в этом посте, не будет слишком подробно описывать 3-й, поскольку это просто сервер, который работает. Единственное, что мне нужно, это доступ по ssh, и это все, так что этот пост будет довольно коротким!

Причины Fedora и Ubuntu в моем случае:

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

Оконный менеджер

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

Ну, я не ненавижу других, это просто соответствует моим потребностям лучше всего:

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

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

Оболочка

У меня есть 2 кандидата здесь:

  • удар и
  • зш .

Bash я использую для сценариев . Это был мой выбор уже довольно давно, и я не вижу необходимости изменений в ближайшее время. Поскольку я довольно привык к этому, и большинство людей / проектов, с которыми я делюсь сценариями, в порядке с этим / уже использовали это.

zsh как моя оболочка по умолчанию . Это все еще мир, который я считаю новым для меня (см. Мой недавний пост об этом ).

Shell Env Sync

Поскольку у меня есть несколько машин, над которыми я работаю, в этой области есть два важных проекта:

о-мой-ЗШ

Обеспечивает для моего зш:

  • хорошо / систематически структурированный подход к плагину ,
  • автозаполнение и
  • всевозможные псевдонимы .

Чтобы немного документировать мой пример использования, вот те плагины, которые у меня есть в моем .zshrc :

1
plugins=(git mvn glassfish yum colored-man vagrant z common-aliases gradle homeshick vim-interaction powerline tmuxinator tmux)

Пожалуйста, обратите внимание: некоторые из них не доступны официально, и на момент написания просто присутствуют в виде запроса от меня к проекту. А именно:

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

Homeshick

Позволяет мне синхронизировать все мои собственные плагины zsh, а также файлы .bashrc через репозиторий git .

Единственными требованиями являются:

  • git and bash на всех клиентах
  • и репозиторий git доступен для всех моих клиентов.

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

Начальная загрузка сессий Shell

Здесь есть 2 важных проекта:

Tmux и tmuxinator позволяют мне иметь только один файл в формате yaml для начальной загрузки моих терминалов.

Я предпочитаю, чтобы в каком-либо графическом терминале было открыто несколько вкладок:

  • загружает все мои снаряды ежедневно таким же / воспроизводимым способом,
  • предоставляет мне хороший способ организации этих и
  • навигация между ними работает только с клавиатуры => переключение между различными задачами после некоторого времени использования становится просто рутиной .

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

Производительность Shell

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

  • ack — мощная замена grep (я могу описать это в отдельном сообщении в блоге),
  • уведомить-отправить и
  • всевозможные псевдонимы и функции zsh / bash, которых было бы слишком много, чтобы перечислять здесь, более того, они могут быть слишком конкретными и бесполезными для других.

Уведомлять-отправить

Я уже писал об уведомлении-отправке .

Я использую его для всех операций управления жизненным циклом сервера приложений (в моем случае Glassfish) (запуск / остановка / перезапуск домена), а также для развертывания.

Как эти:

  • занять некоторое время, чтобы закончить и
  • может привести к ошибкам ,

Я позволил ему обновляться с уведомлением, имеющим

  • код выхода
  • кусок последней пары строк из файла журнала .

Это здорово, так как я могу работать параллельно, и это привлекает мое внимание, когда работа закончена.

Средство запуска настольных приложений

Не имея возможности быстрого запуска моих любимых программ, я бы тратил время на поиск значков или меню.

Поскольку Xfce не предоставляет мне мощный, я использую: Synapse .

Файловый менеджер

Ну, бывают случаи, когда я играю с файлами в командной строке, но иногда лучше использовать какой-то пользовательский интерфейс для этой цели.

Мой выбор — Krusader . Ну, больше всего мне нужно, а именно:

  • манипулирование файлами / папками ,
  • сравнение папок и файлов
  • поиск содержимого файла / папки .

Единственное, что меня беспокоит, так это то, что разработка довольно застопорилась в проекте.

Тем не менее, жизнеспособной альтернативой может быть: Double Commander , который кажется даже кроссплатформенным и может использовать плагины всего Commander (который раньше был моим выбором для окон для этой цели).

редактор

Я пытался жить с Gedit, и для простого ведения заметок это может быть хорошим выбором, однако, так как мне нравится играть с ruby ​​в эти дни, я попытался найти что-то, что могло бы помочь больше в этой области.

(G), то Vim

После поиска я пришел к выводу, что (G) Vim довольно популярен в мире Linux.

Что ж, стоит упомянуть здесь vim joke, которая выражает чувства многих в этом редакторе: теорема о бесконечной обезьяне Vim (см. Теорему о бесконечной обезьяне для объяснения).

Тем не менее, я видел:

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

Поэтому я решил около 2 лет назад удалить редакторы, к которым привык, и заставить себя использовать (G) Vim.

Отличный источник информации был для меня: vimcasts , который мне очень помог в этой области.

Что ж, я планирую документировать настройки .vimrc в отдельном посте, так как это может сделать это слишком долго.

Инструмент синхронизации файлов

Унисон мой выбор. Для получения дополнительной информации о моем случае использования см. Этот пост в блоге .

Вывод

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

Тем не менее, я не могу поверить, что кто-то читал это далеко. Как я думаю, я бы не заставил себя!