Это стек / инструменты, которые помогают мне продуктивно работать с 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 и
- тмуксинатор .
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
в отдельном посте, так как это может сделать это слишком долго.
Инструмент синхронизации файлов
Унисон мой выбор. Для получения дополнительной информации о моем случае использования см. Этот пост в блоге .
Вывод
Надеюсь, вы найдете здесь вдохновение. И был бы рад услышать от вас, ребята, обо всем, что я пропустил, но вы не могли бы жить без.
Тем не менее, я не могу поверить, что кто-то читал это далеко. Как я думаю, я бы не заставил себя!
Ссылка: | Инструменты повышения производительности Linux для меня от нашего партнера по JCG Питера Бутковича из блога pb о жизни и ИТ- блоге. |