<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.1.1">Jekyll</generator><link href="http://localhost:4000/blog/feed.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/blog/" rel="alternate" type="text/html" /><updated>2020-10-26T13:08:44+03:00</updated><id>http://localhost:4000/blog/feed.xml</id><title type="html">&amp;gt;_ BrownMaracuya Blog</title><subtitle>Блог веб-разработчика, активного юзера Linux, и просто хорошего парня.</subtitle><entry><title type="html">Делаем синхронизацию MacOS и IOs на Linux и Anroid</title><link href="http://localhost:4000/blog/2020/10/26/%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC-%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8E-MacOS-%D0%B8-IOs-%D0%BD%D0%B0-Linux-%D0%B8-Anroid.html" rel="alternate" type="text/html" title="Делаем синхронизацию MacOS и IOs на Linux и Anroid" /><published>2020-10-26T12:48:00+03:00</published><updated>2020-10-26T12:48:00+03:00</updated><id>http://localhost:4000/blog/2020/10/26/%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8E%20MacOS%20%D0%B8%20IOs%20%D0%BD%D0%B0%20Linux%20%D0%B8%20Anroid</id><content type="html" xml:base="http://localhost:4000/blog/2020/10/26/%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC-%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8E-MacOS-%D0%B8-IOs-%D0%BD%D0%B0-Linux-%D0%B8-Anroid.html">&lt;p&gt;Недавно изведал для себя утилиту “&lt;em&gt;KDE Connect&lt;/em&gt;”. Если, вкратце, то она помогает синхронизировать все Android устройства с Linux + KDE, тем самым давая нам следующие фичи:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Быстрый обмен файлами&lt;/li&gt;
  &lt;li&gt;Общий буфер обмена (&lt;em&gt;копируете на ПК что-то и можете вставить текст на телефоне и наоборот&lt;/em&gt;)&lt;/li&gt;
  &lt;li&gt;Быстрое открытие сайтов на двух устройствах&lt;/li&gt;
  &lt;li&gt;Синхронизация уведомлений&lt;/li&gt;
  &lt;li&gt;Возможность просмотра файлов телефона удалённо&lt;/li&gt;
  &lt;li&gt;Возможность ответа на уведомления телефона удалённо&lt;/li&gt;
  &lt;li&gt;Синхронизация контактной книги телефона&lt;/li&gt;
  &lt;li&gt;Показ заряда батареи&lt;/li&gt;
  &lt;li&gt;Просмотр сообщений&lt;/li&gt;
  &lt;li&gt;Звонок на телефон, дабы найти его&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Впечатляет, не правда ли? Сейчас мы научимся это всё устанавливать.&lt;/p&gt;

&lt;h2 id=&quot;установка-необходимых-компонентов-на-пк&quot;&gt;Установка необходимых компонентов на ПК&lt;/h2&gt;
&lt;p&gt;Для начала нам нужно выяснить какой дистрибутив вы используете, это может быть Ubuntu (или её подвиды Kubuntu, Xubuntu, Ubuntu Budgie..),  Debian, Pop_OS, Fedora (или Fedora Spins), Arch Linux (или Manjaro).&lt;/p&gt;
&lt;h3 id=&quot;установка-на-ubuntu-или-её-подвиды-debian&quot;&gt;Установка на Ubuntu (или её подвиды), Debian&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;apt &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;kdeconnect
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Данной коммандой устанавливаем KDEConnect в Ubuntu (Debian), а затем переходим к шагу &lt;a href=&quot;#установка-необходимых-компонентов-на-android&quot;&gt;Установка на смартфон&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;установка-на-fedora-fedora-spins&quot;&gt;Установка на Fedora (Fedora Spins)&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;dnf &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;kdeconnect
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Данной коммандой устанавливаем KDEConnect в Fedora (Fedora Spins), а затем переходим к шагу &lt;a href=&quot;#установка-необходимых-компонентов-на-android&quot;&gt;Установка на смартфон&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;установка-на-arch-linux-manjaro&quot;&gt;Установка на Arch Linux (Manjaro)&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;pacman &lt;span class=&quot;nt&quot;&gt;-Sy&lt;/span&gt; kdeconnect
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Данной коммандой устанавливаем KDEConnect в Arch Linux (Manjaro), а затем переходим к шагу &lt;a href=&quot;#установка-необходимых-компонентов-на-android&quot;&gt;Установка на смартфон&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;установка-необходимых-компонентов-на-android&quot;&gt;Установка необходимых компонентов на Android&lt;/h2&gt;
&lt;p&gt;На телефон устанавливаем приложение KDEConnect с помощью &lt;a href=&quot;https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp&amp;amp;hl=en_US&amp;amp;gl=US&quot;&gt;Google Play&lt;/a&gt; или &lt;a href=&quot;https://f-droid.org/en/packages/org.kde.kdeconnect_tp/&quot;&gt;F-Droid&lt;/a&gt;. После этого даём KDEConnect доступ к файлам, звонкам, SMS, календарю.&lt;/p&gt;

&lt;p&gt;На ПК тем временем должен выскочить значок KDEConnect
&lt;img src=&quot;/blog/assets/img/Screenshot_20201026_124404.png&quot; alt=&quot;Config KDEConnect&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Нажав на него мы можем настроить подключение к телефону и выбрать плагины, которые нам нужны
&lt;img src=&quot;/blog/assets/img/Screenshot_20201026_124546.png&quot; alt=&quot;Plugins KDEConnect&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Собственно и всё. С этого момента устройства полностью синхронизированы.&lt;/p&gt;</content><author><name></name></author><category term="linux" /><category term="android" /><summary type="html">Недавно изведал для себя утилиту “KDE Connect”. Если, вкратце, то она помогает синхронизировать все Android устройства с Linux + KDE, тем самым давая нам следующие фичи:</summary></entry><entry><title type="html">Документы в LaTeX</title><link href="http://localhost:4000/blog/2020/10/24/Latex.html" rel="alternate" type="text/html" title="Документы в LaTeX" /><published>2020-10-24T22:43:00+03:00</published><updated>2020-10-24T22:43:00+03:00</updated><id>http://localhost:4000/blog/2020/10/24/Latex</id><content type="html" xml:base="http://localhost:4000/blog/2020/10/24/Latex.html">&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;LaTeX&lt;/strong&gt; — наиболее популярный набор макрорасширений (или макропакет) системы компьютерной вёрстки TeX, который облегчает набор сложных документов. В типографском наборе системы TeX форматируется традиционно как LAΤΕΧ.&lt;/p&gt;

  &lt;p&gt;Важно заметить, что ни один из макропакетов для TeX’а не может расширить возможностей TeX (всё, что можно сделать в LaTeX’е, можно сделать и в TeX’е без расширений), но, благодаря различным упрощениям, использование макропакетов зачастую позволяет избежать весьма изощрённого программирования.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;LaTeX&lt;/strong&gt; - один из моих любимых инструментов для верстки документов. Он отличается от обычного &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.doc&lt;/code&gt; своей лаконичностью, а также широкими возможностями.&lt;/p&gt;

&lt;h2 id=&quot;мой-темплейт-для-latex&quot;&gt;Мой темплейт для LaTeX&lt;/h2&gt;
&lt;p&gt;Мой темплейт делится на несколько частей:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Основной документ&lt;/li&gt;
  &lt;li&gt;Содержание&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Сделал я это для того, чтобы не перемешивать подключение и настройку пакетов и верстку вместе с содержанием самого документа. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Содержание.tex&lt;/code&gt; подключается в &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Основной документ.tex&lt;/code&gt;, тем самым отделяя всё визуальное от всего технического. Макет, к слову, я делал полностью под себя сам.&lt;/p&gt;

&lt;p&gt;Листинг макета:&lt;/p&gt;

&lt;div class=&quot;language-latex highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;\documentclass&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;[a4paper]&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;article&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%  Пакеты&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\usepackage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;minted, graphicx, tikz, pgfplots&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;% Русский язык&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%--------------------------------------&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\usepackage&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;[T2A]&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;fontenc&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\usepackage&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;[utf8]&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;inputenc&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\usepackage&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;[russian]&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;babel&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%--------------------------------------&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;% Отступы на странице&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%--------------------------------------&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\usepackage&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;[margin=3cm]&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;geometry&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%% Многоколоночный макет&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\usepackage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;multicol&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%--------------------------------------&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;% Футер и хедер&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%--------------------------------------&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\usepackage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;fancyhdr&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\pagestyle&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;fancy&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\fancyhf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\rhead&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;Название документа&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\lhead&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;Шило Даниил&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\cfoot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;Стр. &lt;span class=&quot;k&quot;&gt;\thepage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\renewcommand&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;\headrulewidth&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}{&lt;/span&gt;1pt&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\renewcommand&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;\footrulewidth&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}{&lt;/span&gt;1pt&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%--------------------------------------&lt;/span&gt;


&lt;span class=&quot;c&quot;&gt;% Форматирование&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%--------------------------------------&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%% Гиперссылки&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\usepackage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;hyperref&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\hypersetup&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    colorlinks=true,
    linkcolor=blue,
    filecolor=magenta,
    urlcolor=cyan,
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\urlstyle&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;same&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%% Форматирование параграфов&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\setlength&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;\parindent&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}{&lt;/span&gt;2em&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\setlength&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;\parskip&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}{&lt;/span&gt;1em&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%% Размещение текста (\begin{flushright}, \begin{flushleft}, \begin{center}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\usepackage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;ragged2e&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%% Делать отступ на первой линии&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\usepackage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;indentfirst&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%--------------------------------------&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;%  Главная информация о авторе&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%--------------------------------------&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;Название документа&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\author&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;Шило Даниил&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\date&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;2020&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;%--------------------------------------&lt;/span&gt;

&lt;span class=&quot;nt&quot;&gt;\begin{document}&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;\maketitle&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\tableofcontents&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\newpage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\setcounter&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;page&lt;span class=&quot;p&quot;&gt;}{&lt;/span&gt;1&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;\section&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;Начало&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;% BEGIN&lt;/span&gt;
include&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;content&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;% END&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;\end{document}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Как вы уже поняли, файл &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;content.tex&lt;/code&gt; - будет содержать в себе весь текст.&lt;/p&gt;

&lt;h2 id=&quot;на-чём-можно-писать-latex&quot;&gt;На чём можно писать LaTeX?&lt;/h2&gt;
&lt;p&gt;Лично я использую &lt;a href=&quot;overleaf.com&quot;&gt;Overleaf&lt;/a&gt;, поскольку он удобный, быстрый и достаточно гибкий в настройке. Некоторым не нравятся онлайн-сервисы и они используют связку Vim + LaTeX-Suite или Emacs + LaTeX, или VSCode + LaTeX Workshop. На самом деле, вариантов достаточно много, однако я рекомендую именно &lt;em&gt;overleaf&lt;/em&gt;, так как он даёт наибольший результат за наименьшее время. Также, у &lt;em&gt;overleaf&lt;/em&gt; есть прекрасная &lt;a href=&quot;https://www.overleaf.com/learn&quot;&gt;справка&lt;/a&gt;, с помощью которой я вообще понял что такое LaTeX и научился писать на нём документы.&lt;/p&gt;</content><author><name></name></author><category term="linux" /><category term="latex" /><summary type="html">LaTeX — наиболее популярный набор макрорасширений (или макропакет) системы компьютерной вёрстки TeX, который облегчает набор сложных документов. В типографском наборе системы TeX форматируется традиционно как LAΤΕΧ. Важно заметить, что ни один из макропакетов для TeX’а не может расширить возможностей TeX (всё, что можно сделать в LaTeX’е, можно сделать и в TeX’е без расширений), но, благодаря различным упрощениям, использование макропакетов зачастую позволяет избежать весьма изощрённого программирования.</summary></entry><entry><title type="html">Браузер для веб-разработки</title><link href="http://localhost:4000/blog/2020/10/24/Browsers.html" rel="alternate" type="text/html" title="Браузер для веб-разработки" /><published>2020-10-24T02:37:00+03:00</published><updated>2020-10-24T02:37:00+03:00</updated><id>http://localhost:4000/blog/2020/10/24/Browsers</id><content type="html" xml:base="http://localhost:4000/blog/2020/10/24/Browsers.html">&lt;p&gt;В наше время браузеров достаточно много. Для веб-разработчиков есть достаточно большой выбор: Google Chrome, Firefox, Firefox Developer Edition, Vivaldi, Chromium.&lt;/p&gt;

&lt;p&gt;Лично я предпочитаю Google Chrome, потому что он достаточно быстрый, умный, хорошо синхронизируется с мобильными устройствами, а также в нём прекрасные инструменты разработчика. Стоит раз попробовать его, как потом сложно будет перейти на какой-то другой браузер.&lt;/p&gt;

&lt;p&gt;Вообще, вся тема с браузерами немного преувеличена, так как по сути все они следуют одному &lt;a href=&quot;https://www.w3.org/standards/&quot;&gt;стандарту&lt;/a&gt; (&lt;em&gt;ну, или стараются ему следовать&lt;/em&gt;). Раньше одним из передовых браузеров был Firefox, но так как Google заняла большую часть рынка смартфонов с андроидов, то и пользователей Google Chrome, стало больше, так как Google Chrome поставляется с андроидом с 2012 года.&lt;/p&gt;

&lt;p&gt;В 2020 году Mozilla (компания, которая сделала Firefox) уволила 25% процентов сотрудников, поэтому c дальнейшим быстрым развитием Firefox, думаю, стоит подождать. Именно поэтому я и советую перейти на Google Chrome.&lt;/p&gt;

&lt;p&gt;Однако, выбор остаётся за каждым и вообще кроме Firefox и Google Chrome есть также и другие браузеры, сейчас я покажу как их установить в Arch Linux:&lt;/p&gt;
&lt;h2 id=&quot;установка-браузеров-в-arch-linux&quot;&gt;Установка браузеров в Arch Linux&lt;/h2&gt;
&lt;p&gt;Сейчас установим несколько пакетов в Arch Linux, а также настроим браузеры&lt;/p&gt;
&lt;h3 id=&quot;google-chrome&quot;&gt;Google Chrome&lt;/h3&gt;
&lt;p&gt;Устанавливаем &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;yay&lt;/code&gt; (&lt;em&gt;Yet another yogurt&lt;/em&gt;)&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;pacman &lt;span class=&quot;nt&quot;&gt;-Sy&lt;/span&gt; base-devel git
git clone https://aur.archlinux.org/yay.git
&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;yay &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; makepkg &lt;span class=&quot;nt&quot;&gt;-si&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;cd&lt;/span&gt; -
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Затем скачиваем и устанавливаем пакет &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;google-chrome&lt;/code&gt;&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yay &lt;span class=&quot;nt&quot;&gt;-Sy&lt;/span&gt; google-chrome
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h3 id=&quot;firefox&quot;&gt;Firefox&lt;/h3&gt;
&lt;p&gt;Сразу устанавливаем &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;firefox&lt;/code&gt; с помощью &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pacman&lt;/code&gt;&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;pacman &lt;span class=&quot;nt&quot;&gt;-Sy&lt;/span&gt; firefox
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h3 id=&quot;firefox-developer-edition&quot;&gt;Firefox Developer Edition&lt;/h3&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Firefox Developer Edition&lt;/code&gt; - браузер, который специально создан разработчиками для разработчиков. Один из моих фаворитов (после &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Google Chrome&lt;/code&gt;), так как потребляет мало ресурсов и предоставляет достаточно удобные инструменты разработчика.&lt;/p&gt;

&lt;p&gt;Устанавливаем так же, с помощью &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pacman&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;pacman &lt;span class=&quot;nt&quot;&gt;-Sy&lt;/span&gt; firefox-developer-edition
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h3 id=&quot;vivaldi&quot;&gt;Vivaldi&lt;/h3&gt;
&lt;p&gt;Устанавливаем &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;yay&lt;/code&gt; (&lt;em&gt;Yet another yogurt&lt;/em&gt;) (&lt;em&gt;Не устанавливаем, если уже установлен, естественно&lt;/em&gt;)&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;pacman &lt;span class=&quot;nt&quot;&gt;-Sy&lt;/span&gt; base-devel git
git clone https://aur.archlinux.org/yay.git
&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;yay &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; makepkg &lt;span class=&quot;nt&quot;&gt;-si&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;cd&lt;/span&gt; -
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Затем скачиваем и устанавливаем пакет &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;google-chrome&lt;/code&gt;&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yay &lt;span class=&quot;nt&quot;&gt;-Sy&lt;/span&gt; vivaldi
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h3 id=&quot;chromium&quot;&gt;Chromium&lt;/h3&gt;
&lt;p&gt;Сразу устанавливаем &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Chromium&lt;/code&gt; с помощью &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pacman&lt;/code&gt;&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;pacman &lt;span class=&quot;nt&quot;&gt;-Sy&lt;/span&gt; chromium
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name></name></author><category term="browsers" /><category term="web" /><category term="linux" /><summary type="html">В наше время браузеров достаточно много. Для веб-разработчиков есть достаточно большой выбор: Google Chrome, Firefox, Firefox Developer Edition, Vivaldi, Chromium.</summary></entry><entry><title type="html">Веб-cервисы, которые я очень часто использую</title><link href="http://localhost:4000/blog/2020/10/22/Services.html" rel="alternate" type="text/html" title="Веб-cервисы, которые я очень часто использую" /><published>2020-10-22T23:39:00+03:00</published><updated>2020-10-22T23:39:00+03:00</updated><id>http://localhost:4000/blog/2020/10/22/Services</id><content type="html" xml:base="http://localhost:4000/blog/2020/10/22/Services.html">&lt;p&gt;В наше время люди не могут обойтись без онлайн сервисов. В данном посте я размещу сервисы, которые я использую почти постоянно:&lt;/p&gt;

&lt;h2 id=&quot;webdevelopment&quot;&gt;WebDevelopment&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.upwork.com/&quot;&gt;Upwork&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://fonts.google.com/&quot;&gt;Google Fonts&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.npmjs.com/&quot;&gt;NPM.js&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/&quot;&gt;Github&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://bitbucket.org/&quot;&gt;BitBucket&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/&quot;&gt;MDN&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://codepen.io/&quot;&gt;Codepen&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://jsfiddle.net/&quot;&gt;JSFiddle&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://repl.it/&quot;&gt;Repl.it&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://regex101.com/&quot;&gt;Regex101&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;free-images&quot;&gt;Free Images&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.pexels.com/&quot;&gt;Pexels&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://unsplash.com/&quot;&gt;Unsplash&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;editors-and-self-organization&quot;&gt;Editors and self-organization&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.overleaf.com/&quot;&gt;Overleaf&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://stackedit.io/&quot;&gt;Stackedit&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.notion.so/&quot;&gt;Notion&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://trello.com/&quot;&gt;Trello&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.wrike.com/&quot;&gt;Wrike&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;entertainment&quot;&gt;Entertainment&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.slant.co/&quot;&gt;Slant&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://slack.com/intl/en-ru/&quot;&gt;Slack&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://habr.com/ru/&quot;&gt;Habr&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.tutorialspoint.com/index.htm&quot;&gt;tutorialspoint&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.geeksforgeeks.org/&quot;&gt;geeksforgeeks&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.freecodecamp.org/&quot;&gt;FreeCodeCamp&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://itsfoss.com/&quot;&gt;it’s FOSS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;fonts-and-icons&quot;&gt;Fonts and icons&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://fontawesome.com/&quot;&gt;FontAwesome&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://fontello.com/&quot;&gt;Fontello&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://icons8.com/&quot;&gt;Icons8&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://learn.javascript.ru/&quot;&gt;learnjs&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://thenounproject.com/&quot;&gt;theNeunProject&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://materialdesignicons.com/&quot;&gt;Material Design Icons&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;стеки&quot;&gt;Стеки&lt;/h1&gt;
&lt;p&gt;Для определённых дел иногда требуются стеки технологий (совокупность технологий)&lt;/p&gt;

&lt;h2 id=&quot;веб-разработка&quot;&gt;Веб-разработка&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://codepen.io/&quot;&gt;Codepen&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://jsfiddle.net/&quot;&gt;JSFiddle&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://fonts.google.com/&quot;&gt;Google Fonts&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.npmjs.com/&quot;&gt;NPM.js&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/&quot;&gt;MDN&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/&quot;&gt;Github&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://bitbucket.org/&quot;&gt;BitBucket&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;написание-документов&quot;&gt;Написание документов&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.overleaf.com/&quot;&gt;Overleaf&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://stackedit.io/&quot;&gt;Stackedit&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://docs.google.com/&quot;&gt;Google Docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;работа-с-командой&quot;&gt;Работа с командой&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://trello.com/&quot;&gt;Trello&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.notion.so/&quot;&gt;Notion&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://repl.it/&quot;&gt;Repl.it&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.wrike.com/&quot;&gt;Wrike&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><author><name></name></author><category term="web" /><summary type="html">В наше время люди не могут обойтись без онлайн сервисов. В данном посте я размещу сервисы, которые я использую почти постоянно:</summary></entry><entry><title type="html">О интернет протоколе</title><link href="http://localhost:4000/blog/2020/10/21/%D0%9E-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D0%B5.html" rel="alternate" type="text/html" title="О интернет протоколе" /><published>2020-10-21T14:26:00+03:00</published><updated>2020-10-21T14:26:00+03:00</updated><id>http://localhost:4000/blog/2020/10/21/%D0%9E%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%20%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D0%B5</id><content type="html" xml:base="http://localhost:4000/blog/2020/10/21/%D0%9E-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D0%B5.html">&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Сетево́й протоко́л&lt;/strong&gt; — набор правил и действий (очерёдности действий), позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть устройствами. (&lt;a href=&quot;https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&quot;&gt;Википедия&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;IP (Internet Protocol)&lt;/strong&gt; - набор правил для отправки информации через сеть, а также получения этой информации. Вся информация в интернете разделена на кусочки, которые называются пакеты.
Атрибуты интернет протокола привязаны к каждому пакету, чтобы роутер (или другое устройство для отправления пакетов) знало куда именно отправлять данный пакет. Адрес от кого и куда пакет отправляется называется &lt;strong&gt;IP-адресом&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IP-адрес&lt;/strong&gt; состоит из 4 цифр, каждая из них может принимать 256 значений (от 0 до 255), например: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;192.168.0.1, 127.88.93.2, 255.255.255.255, 0.0.0.0&lt;/code&gt;. Данный адрес является &lt;em&gt;IPv4&lt;/em&gt; адресом. Компьютер видит его примерно так: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;11000000.10101000.00000000.00000001&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Также, для отправки пакета нужна маска подсети. Маска подсети отделяет &lt;em&gt;адрес сети&lt;/em&gt; и &lt;em&gt;адрес хоста&lt;/em&gt; (&lt;em&gt;хост - устройство, которое подключено к сети&lt;/em&gt;), для того чтобы отделить одного от другого как раз таки и нужна маска подсети.&lt;/p&gt;

&lt;p&gt;Для того чтобы отделить одного от другого нужно знать, что такое побитовое умножение. В побитовом умножении всё достаточно легко:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;   11000000.10101000.00000000.00000001    (192.168.0.1)
 + 11111111.11111111.11111111.00000000    (255.255.255.0)
 -----------------------------------
   11000000.10101000.00000000.00000000    (192.168.0.0)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;При побитовом сложении получается 1, только если два слагаемых равны 1. Обычно маска подсети это &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;255.255.255.0&lt;/code&gt;. Поэтому первые 3 октеты (&lt;em&gt;октета - 8 чисел&lt;/em&gt;) будут точно такие же, как и IP-адрес, а последних цифр не будет. Как уже можно понять первые 3 октеты - адрес сети, последняя октета - адрес хоста.&lt;/p&gt;

&lt;!--
  ## Классы IP
  &lt;table cellpadding=&quot;2&quot; cellspacing=&quot;0&quot; width=&quot;650&quot;&gt;
  &lt;thead&gt;
  &lt;tr&gt;
  &lt;th align=&quot;center&quot; valign=&quot;top&quot;&gt;&amp;nbsp;&lt;/th&gt;
  &lt;th align=&quot;center&quot; valign=&quot;top&quot;&gt;&lt;strong&gt;Адреса сетей&lt;/strong&gt;&lt;/th&gt;
  &lt;th align=&quot;center&quot; valign=&quot;top&quot;&gt;&lt;strong&gt;Маска подсети&lt;/strong&gt;&lt;/th&gt;
  &lt;th align=&quot;center&quot; valign=&quot;top&quot;&gt;&lt;strong&gt;Количество сетей&lt;/strong&gt;&lt;/th&gt;
  &lt;th align=&quot;center&quot; valign=&quot;top&quot;&gt;&lt;strong&gt;Количество хостов&lt;/strong&gt;&lt;/th&gt;
  &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
  &lt;tr&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;&lt;strong&gt;Класс A&lt;/strong&gt;&lt;/td&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;1-126.0.0.0&lt;/td&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;255.0.0.0&lt;/td&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;126&lt;/td&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;16,777,214&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;&lt;strong&gt;Класс B&lt;/strong&gt;&lt;/td&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;128-191.0.0.0&lt;/td&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;255.255.0.0&lt;/td&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;16,384&lt;/td&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;65,534&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;&lt;strong&gt;Класс C&lt;/strong&gt;&lt;/td&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;192-223.0.0.0&lt;/td&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;255.255.255.0&lt;/td&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;2,097,152&lt;/td&gt;
  &lt;td align=&quot;center&quot; valign=&quot;top&quot;&gt;254&lt;/td&gt;
  &lt;/tr&gt;
  &lt;/tbody&gt;
  &lt;/table&gt;
--&gt;

&lt;h2 id=&quot;что-присутствует-в-ip-пакете&quot;&gt;Что присутствует в IP пакете?&lt;/h2&gt;
&lt;p&gt;В IP пакете присутствуют следующие атрибуты:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Адрес отправителя&lt;/li&gt;
  &lt;li&gt;Адрес получателя&lt;/li&gt;
  &lt;li&gt;Размер пакета&lt;/li&gt;
  &lt;li&gt;Какой метод транспортировки используется (&lt;em&gt;TCP, UDP&lt;/em&gt;)&lt;/li&gt;
  &lt;li&gt;TTL (&lt;strong&gt;Time To Live&lt;/strong&gt;) - количество попыток, перед которым пакет “потеряется”&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Протокол передачи данных&lt;/strong&gt; — набор соглашений интерфейса логического уровня, которые определяют обмен данными между различными программами. Эти соглашения задают единообразный способ передачи сообщений и обработки ошибок. Сигнальный протокол используется для управления соединением — например, установки, переадресации, разрыва связи. Примеры протоколов: RTSP, SIP. Для передачи данных используются такие протоколы как RTP. (&lt;a href=&quot;https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&quot;&gt;Википедия&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;методы-транспортировки-пакетов-tcp&quot;&gt;Методы транспортировки пакетов (TCP)&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Transmission Control Protocol&lt;/strong&gt; - один из протоколов передачи данных, который является достаточно медленным, однако надёжным. При отправке пакета по протоколу TCP, хост отправляет пакет к другому хосту и &lt;strong&gt;ждёт ответа (пришёл ли пакет)&lt;/strong&gt;. Если пакет &lt;em&gt;не пришёл&lt;/em&gt;, то хост отправляет пакет снова. Также стоит отметить что данный протокол устанавливает соединение &lt;strong&gt;до&lt;/strong&gt; того, как собирается отправлять пакеты.&lt;/p&gt;

&lt;h2 id=&quot;методы-транспортировки-пакетов-udp&quot;&gt;Методы транспортировки пакетов (UDP)&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;User Datagram Protocol&lt;/strong&gt; - протокол, который отличается от &lt;strong&gt;TCP&lt;/strong&gt; скоростью, но точно не надёжностью. Он не устанавливает соединение до отправки пакетов и не проверяет получил ли пакет адресат (&lt;em&gt;тот, кто получил пакет&lt;/em&gt;).&lt;/p&gt;</content><author><name></name></author><category term="web" /><summary type="html">Сетево́й протоко́л — набор правил и действий (очерёдности действий), позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть устройствами. (Википедия)</summary></entry><entry><title type="html">Время в линукс и Windows при дуалбуте</title><link href="http://localhost:4000/blog/2020/10/18/%D0%92%D1%80%D0%B5%D0%BC%D1%8F-%D0%B2-%D0%BB%D0%B8%D0%BD%D1%83%D0%BA%D1%81-%D0%B8-Windows-%D0%BF%D1%80%D0%B8-%D0%B4%D1%83%D0%B0%D0%BB%D0%B1%D1%83%D1%82%D0%B5.html" rel="alternate" type="text/html" title="Время в линукс и Windows при дуалбуте" /><published>2020-10-18T15:50:05+03:00</published><updated>2020-10-18T15:50:05+03:00</updated><id>http://localhost:4000/blog/2020/10/18/%D0%92%D1%80%D0%B5%D0%BC%D1%8F%20%D0%B2%20%D0%BB%D0%B8%D0%BD%D1%83%D0%BA%D1%81%20%D0%B8%20Windows%20%D0%BF%D1%80%D0%B8%20%D0%B4%D1%83%D0%B0%D0%BB%D0%B1%D1%83%D1%82%D0%B5</id><content type="html" xml:base="http://localhost:4000/blog/2020/10/18/%D0%92%D1%80%D0%B5%D0%BC%D1%8F-%D0%B2-%D0%BB%D0%B8%D0%BD%D1%83%D0%BA%D1%81-%D0%B8-Windows-%D0%BF%D1%80%D0%B8-%D0%B4%D1%83%D0%B0%D0%BB%D0%B1%D1%83%D1%82%D0%B5.html">&lt;p&gt;Очень часто у пользователей при дуалбуте (установке Windows, а затем Linux) возникают сложности с тем, что время на системах разнится и оно всё время сбивается при переключении с одной системы на другую.&lt;/p&gt;

&lt;p&gt;Я нашёл достаточно быстрое решение для этой проблемы:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;ln&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-sf&lt;/span&gt; /usr/share/zoneinfo/&amp;lt;Country&amp;gt;/&amp;lt;City&amp;gt; /etc/localtime
timedatectl set-ntp &lt;span class=&quot;nb&quot;&gt;true&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;# Данная команда будет синхронизировать время с сервером&lt;/span&gt;
timedatectl
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name></name></author><category term="linux" /><category term="windows" /><summary type="html">Очень часто у пользователей при дуалбуте (установке Windows, а затем Linux) возникают сложности с тем, что время на системах разнится и оно всё время сбивается при переключении с одной системы на другую.</summary></entry><entry><title type="html">O Tiling-wm в 2-х словах</title><link href="http://localhost:4000/blog/2020/10/18/O-Tiling-wm-%D0%B2-2-%D1%85-%D1%81%D0%BB%D0%BE%D0%B2%D0%B0%D1%85.html" rel="alternate" type="text/html" title="O Tiling-wm в 2-х словах" /><published>2020-10-18T00:35:05+03:00</published><updated>2020-10-18T00:35:05+03:00</updated><id>http://localhost:4000/blog/2020/10/18/O%20Tiling-wm%20%D0%B2%202-%D1%85%20%D1%81%D0%BB%D0%BE%D0%B2%D0%B0%D1%85</id><content type="html" xml:base="http://localhost:4000/blog/2020/10/18/O-Tiling-wm-%D0%B2-2-%D1%85-%D1%81%D0%BB%D0%BE%D0%B2%D0%B0%D1%85.html">&lt;p&gt;Немного расскажу о моем опыте использования тайловых менеджеров окон, а также рассмотрим кратко плюсы и минусы, которые я нашёл за 3 месяца использования.&lt;/p&gt;

&lt;h1 id=&quot;вкратце&quot;&gt;Вкратце&lt;/h1&gt;
&lt;p&gt;Я использовал bspwm, awesome и i3 из тайловых менеджеров окон. Самым удобным оказался bspwm. Его буквально можно поставить на ПК и он уже настроен.&lt;/p&gt;

&lt;p&gt;Опыт перехождения с мышки на клавиатуру и только был болезненный. Во всех трех менеджерах можно использовать мышь, однако делать этого незачем, ибо с мышью прекрасно справляются KDE, Gnome, XFCE, Cinnamon и многие другие DE.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Плюсы и минусы&lt;/strong&gt;:&lt;/p&gt;
&lt;h5 id=&quot;i3&quot;&gt;i3&lt;/h5&gt;
&lt;p&gt;+ Гибконастраиваемый&lt;/p&gt;

&lt;p&gt;+ Легковесный&lt;/p&gt;

&lt;p&gt;+ Вся конфигурация в одном файле (&lt;em&gt;хотя, этот плюс, конечно же субъективный&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;+ Правила расположения окон можно настроить очень гибко&lt;/p&gt;

&lt;p&gt;+ Очень хорошая документация&lt;/p&gt;

&lt;p&gt;- Оригинальный i3 не такой уж и гибкий, как его форк &lt;a href=&quot;https://github.com/Airblader/i3&quot;&gt;i3-gaps&lt;/a&gt;
- Изначально поставляется просто как пусfooterтой экран с dmenu (пакет из suckless-tools)&lt;/p&gt;

&lt;p&gt;Скриншоты:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/zu/bq/nl/zubqnl7yvwxzm_zuy487hd31sye.jpeg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/ep/ou/o0/epouo0filjvlyrkd3gu0ygggbda.jpeg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/Username77177/dotfiles&quot;&gt;Моя конфигурация i3&lt;/a&gt;&lt;/p&gt;

&lt;h5 id=&quot;bspwm&quot;&gt;bspwm&lt;/h5&gt;

&lt;p&gt;+ Конфигурация может быть написана на любом скриптовом языке. По сути конфигурация - просто набор последовательных правил. Сам же bspwm может быть настроен с помощью bspc&lt;/p&gt;

&lt;p&gt;+ Bspc содержит мануал с краткими выкладками и примерами&lt;/p&gt;

&lt;p&gt;+ Отступы между окнами присутствуют по умолчанию в отличии от i3&lt;/p&gt;

&lt;p&gt;+ Настройка горячих клавиш производится с помощью отдельной программы sxhkd. Все горячие клавиши могут быть перенесены на другой WM&lt;/p&gt;

&lt;p&gt;- Нет нормальной документации (только мануал)&lt;/p&gt;

&lt;p&gt;- Нужно докачивать программы по типу rofi, dmenu, alacritty (или любого другого терминала) и так далее, т.к. без них bspwm &lt;strong&gt;вообще ничего не показывает&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;- Может чуть больше нагружать систему, чем i3 из-за дополнительных утилит&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/Username77177/bspwm-ground-config&quot;&gt;Моя конфигурация bspwm&lt;/a&gt;&lt;/p&gt;

&lt;h5 id=&quot;awesome&quot;&gt;awesome&lt;/h5&gt;

&lt;p&gt;+ Хорошо задокументирован&lt;/p&gt;

&lt;p&gt;+ Вся конфигурация на языке Lua&lt;/p&gt;

&lt;p&gt;+ Очень гибкий&lt;/p&gt;

&lt;p&gt;+ Все утилиты нужные для работы идут в комплекте. Не нужно ничего докачивать&lt;/p&gt;

&lt;p&gt;+ Нормально обращается с мышью&lt;/p&gt;

&lt;p&gt;+ Отступы между окнами присутствуют (привет, i3)&lt;/p&gt;

&lt;p&gt;- Обязательное знание Lua&lt;/p&gt;

&lt;p&gt;- Немного больше нагружает систему, чем bspwm&lt;/p&gt;

&lt;h1 id=&quot;личное-мнение&quot;&gt;Личное мнение&lt;/h1&gt;
&lt;p&gt;Мне лично по душе bspwm. Он лёгкий в конфигурации, над ним не нужно много работать, всё уже готово.&lt;/p&gt;

&lt;p&gt;Скриншоты:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/1g/oj/a8/1goja8i12nnsfgmuomisldurjqq.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/d5/bu/ya/d5buyan8btyiasceq0kj0mck-gs.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/dh/sy/6w/dhsy6wsqr3_ldqi2vj3bnixi-s0.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/jz/sc/vk/jzscvkbgym0so_tpomwmdzrpyjo.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;upd&quot;&gt;UPD:&lt;/h2&gt;
&lt;p&gt;Собрал все репозитории с конфигурационными файлами
&lt;a href=&quot;https://github.com/Username77177/dotfiles&quot;&gt;Репозиторий, где я собирал конфиг i3/bspwm&lt;/a&gt;
&lt;a href=&quot;https://github.com/Username77177/Configurations&quot;&gt;Репозиторий, где я собирал конфиг под терминал,  tmux, и другое&lt;/a&gt;
&lt;a href=&quot;https://github.com/Username77177/bspwm-ground-config&quot;&gt;Репозиторий, отведённый чисто для bspwm&lt;/a&gt;&lt;/p&gt;</content><author><name></name></author><category term="linux" /><category term="i3" /><category term="bspwm" /><category term="awesome" /><summary type="html">Немного расскажу о моем опыте использования тайловых менеджеров окон, а также рассмотрим кратко плюсы и минусы, которые я нашёл за 3 месяца использования.</summary></entry><entry><title type="html">Консольные утилиты Linux, которые смогут облегчить вам жизнь</title><link href="http://localhost:4000/blog/2020/10/18/%D0%9A%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D1%83%D1%82%D0%B8%D0%BB%D0%B8%D1%82%D1%8B-Linux,-%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B5-%D1%81%D0%BC%D0%BE%D0%B3%D1%83%D1%82-%D0%BE%D0%B1%D0%BB%D0%B5%D0%B3%D1%87%D0%B8%D1%82%D1%8C-%D0%B2%D0%B0%D0%BC-%D0%B6%D0%B8%D0%B7%D0%BD%D1%8C.html" rel="alternate" type="text/html" title="Консольные утилиты Linux, которые смогут облегчить вам жизнь" /><published>2020-10-18T00:35:05+03:00</published><updated>2020-10-18T00:35:05+03:00</updated><id>http://localhost:4000/blog/2020/10/18/%D0%9A%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%20%D1%83%D1%82%D0%B8%D0%BB%D0%B8%D1%82%D1%8B%20Linux,%20%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B5%20%D1%81%D0%BC%D0%BE%D0%B3%D1%83%D1%82%20%D0%BE%D0%B1%D0%BB%D0%B5%D0%B3%D1%87%D0%B8%D1%82%D1%8C%20%D0%B2%D0%B0%D0%BC%20%D0%B6%D0%B8%D0%B7%D0%BD%D1%8C</id><content type="html" xml:base="http://localhost:4000/blog/2020/10/18/%D0%9A%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D1%83%D1%82%D0%B8%D0%BB%D0%B8%D1%82%D1%8B-Linux,-%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B5-%D1%81%D0%BC%D0%BE%D0%B3%D1%83%D1%82-%D0%BE%D0%B1%D0%BB%D0%B5%D0%B3%D1%87%D0%B8%D1%82%D1%8C-%D0%B2%D0%B0%D0%BC-%D0%B6%D0%B8%D0%B7%D0%BD%D1%8C.html">&lt;p&gt;Немного о утилитах на консоли, которые знают немногие, однако они могут быть полезны как для начинающего джуна, так и для крепкого сеньора.&lt;/p&gt;

&lt;h1 id=&quot;почему-стоит-написать-об-этом&quot;&gt;Почему стоит написать об этом&lt;/h1&gt;
&lt;p&gt;Написать о утилитах (прежде всего консольных) стоит из-за того, что я вижу, как многие люди не используют мощность консоли на все 100%. Многие ограничиваются простым созданием файлов, а также переходом между директориями, работая в консоли. Я считаю что это следствие того, что в рунете мало источников, где бы могли нормально рассказать о утилитах, как на них работать, и что они делают.
Оценивать утилиты мы будем по 5-бальной шкале. Сделано это для того, чтобы вы сразу могли понять, где на мой субъективный взгляд, одна утилита на голову выше другой. Я не призываю использовать что-то определенное, или использовать &lt;strong&gt;только командные утилиты&lt;/strong&gt;. Нет, наоборот, я просто даю вам выбор. Пользоваться или нет полученными знаниями, на которые я потратил кучу времени - дело ваше.&lt;/p&gt;

&lt;p&gt;Я сразу хочу сказать, что в этом посте присутствуют утилиты, которые понадобились непосредственно мне при разработке. Если у вас есть свои предложения как дополнить этот список, милости прошу в комментарии.&lt;/p&gt;

&lt;h1 id=&quot;перейдем-к-списку&quot;&gt;Перейдем к списку&lt;/h1&gt;

&lt;h2 id=&quot;передвижение-по-директориям&quot;&gt;Передвижение по директориям&lt;/h2&gt;

&lt;h3 id=&quot;vifm&quot;&gt;ViFM&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/sh/jp/m3/shjpm3d_3nsxvrke-yohk2g7hcw.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/vifm/vifm&quot;&gt;ViFM&lt;/a&gt; - vim-подобный файловый менеджер, который способен быстро переходить между директориями и выполнять какие-либо операции с файлами и директориями посредством ввода команд или хоткеев. По умолчанию представляет из себя две панели (чёрную и белую) между которыми вы можете переключаться.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Оценка: 3, ибо для того чтобы пользоваться этим ФМ, вам нужно будет выучить кучу vim-подобных команд, а также знать хоткеи vim’а&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;mc&quot;&gt;mc&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/n3/rv/8k/n3rv8k61fmkxdwet8iat1vybbn8.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://midnight-commander.org/&quot;&gt;mc&lt;/a&gt; (Midnight Commander) - классика в Linux’e. С помощью него вы сможете также быстро перемещаться между директориями, менять права доступа, открывать файлы с помощью встроенного редактора, а также многое другое. В программу встроен довольно понятный интерфейс, где внизу находятся хоткеи, а вверху две панели (между которыми вы переключаетесь с помощью клавиши Tab).&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Оценка : 5. Это то, что нужно новичку, и подходит продвинутому пользователю. Вам не нужны никакие предварительные знания, чтобы полноценно использовать этот ФМ.&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;ranger&quot;&gt;Ranger&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/5g/rr/zz/5grrzzp4wmlajxit9dxysnhbjwk.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/ranger/ranger&quot;&gt;Ranger&lt;/a&gt; - ещё один ФМ с вим-подобной раскладкой. Однако, на этот раз утилита написана на Python, что делает её медленнее, но в то же время чертовски гибкой и удобной. Вы можете открывать файлы сразу из менеджера с помощью rifle (сценарий, который ищет какая программа подойдет для открытия данного файла на вашем ПК). Также доступно редактирование, просмотр быстрых клавиш (отдельно от мануала, который вызывается командой :help), и много других плюшек.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Оценка: 4. Было бы 5, если бы не скорость работы&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;быстрый-поиск&quot;&gt;Быстрый поиск&lt;/h2&gt;

&lt;p&gt;Быстрый поиск не доступен на оболочке Gnome, например. (&lt;em&gt;Здесь говорится о быстром поиске включая содержимое файлов. Gnome же обладает просто поиском, причем ещё и очень медленным&lt;/em&gt;)&lt;/p&gt;

&lt;h3 id=&quot;fzf&quot;&gt;fzf&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/xi/0z/cy/xi0zcy_nc3irvaptrk8z0rkplyo.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/junegunn/fzf&quot;&gt;fzf (FuzzyFinder)&lt;/a&gt; - утилита для быстрого поиска среди директорий, а также текста в определенном массиве файлов. Она может быть легко заменена на find, однако является его более быстрым и удобным аналогом.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Оценка: 5. Утилита отлично выполняет свою работу.&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;hf&quot;&gt;hf&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/hugows/hf&quot;&gt;hf (happyfinder)&lt;/a&gt; - ещё одна утилита для быстрого поиска в директориях и файлах. Отличается тем, что доступны также некоторые хоткеи и использование команд в самой утилите реализовано чуточку удобнее, чем у конкурента&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Оценка: 5&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;autojump&quot;&gt;autojump&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/wting/autojump&quot;&gt;autojump&lt;/a&gt; - утилита для быстрого перепрыгивания через папки к определенному файлу.&lt;/p&gt;

&lt;h2 id=&quot;редактирование&quot;&gt;Редактирование&lt;/h2&gt;

&lt;p&gt;Тут я ограничюсь только списком утилит. Ибо редактор - то, чем вы пользуетесь постоянно (а если не пользуетесь, то тем более вам не нужны лишние объяснения), поэтому тут на вкус и цвет&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/vim/vim&quot;&gt;Vim&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/neovim/neovim&quot;&gt;NeoVim&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Nano (стандартный редактор Linux)&lt;/li&gt;
  &lt;li&gt;Vi (ещё один стандартный редактор Linux)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.gnu.org/software/emacs/&quot;&gt;Emacs&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/zyedidia/micro&quot;&gt;Micro&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/mawww/kakoune&quot;&gt;Kakoune&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/hlissner/doom-emacs&quot;&gt;Doom Emacs&lt;/a&gt; (&lt;em&gt;просто конфигурация Emacs, однако изменяет его так, что это уже совсем не похоже на ванильный Emacs&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;сами-терминалы&quot;&gt;Сами терминалы&lt;/h2&gt;

&lt;h3 id=&quot;alacritty-самый-быстрый&quot;&gt;Alacritty (самый быстрый)&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://cloud.githubusercontent.com/assets/4285147/21585004/2ebd0288-d06c-11e6-95d3-4a2889dbbd6f.png&quot; alt=&quot;&quot; /&gt;
&lt;a href=&quot;https://github.com/alacritty/alacritty&quot;&gt;Alacritty&lt;/a&gt; - эмулятор терминала на Linux/Windows/MacOS, который считается самым быстрым (так пишет сам автор этого терминала)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Оценка: 4. На мой субъективный взгляд - не самый удобный и комфортный терминал.&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;hyper-самый-красивый&quot;&gt;Hyper (самый красивый)&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/iu/sf/2d/iusf2dx5bsnydpov1cydpew2lsa.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://hyper.is/&quot;&gt;Hyper&lt;/a&gt; - терминал, который заслуживает того, чтобы вы попробовали использовать его на своей системе. Его интерфейс сделан с помощью CSS/HTML, а базируется он на фреймворке Electron (что конечно же будет делать его немножко прожорливее)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Оценка: 5. Терминал удобный и красивый. Он расширяемый и в нём есть куча фич.&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;быстрая-справка-или-поиск-чего-либо&quot;&gt;Быстрая справка (или поиск чего-либо)&lt;/h2&gt;

&lt;h3 id=&quot;ddgr&quot;&gt;ddgr&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/yo/52/lw/yo52lwurk_0b42zq19xbrj4jf_8.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/jarun/ddgr&quot;&gt;ddgr&lt;/a&gt; - командная утилита, которая позволяет пользоваться DuckDuckGo прямо из консоли.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Оценка: 5. Программа быстро выполняет запрос и отдаёт результаты (естественно, ибо не нужно прогружать HTML/CSS. Всё быстренько парсится)&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;tldr&quot;&gt;tldr&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/9n/me/kl/9nmekljhzq4d5xtyaj2_tfgz2eg.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/tldr-pages/tldr&quot;&gt;tldr&lt;/a&gt; - замена стандартного man, который умеет всё тоже самое, однако вместо того, чтобы давать полный мануал к программе, она даёт краткие вырезки для быстрого использования&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Оценка: 4. Иногда tldr выдаёт уж слишком короткую справку, а также на многие программы просто нет документации в tldr&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;howdoi&quot;&gt;howdoi&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/gleitz/howdoi&quot;&gt;howdoi&lt;/a&gt; - парсит ответы с разных сайтов на вопросы о программировании.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Оценка: 3. Часто находит ответы на совсем не те вопросы. Также крайне неудобно, что ответ выводится только один&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;navi&quot;&gt;navi&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/denisidoro/navi&quot;&gt;navi&lt;/a&gt; - консольная утилита, подобная howdoi, однако отвечающая сугубо на вопросы о командах консоли&lt;/p&gt;

&lt;h3 id=&quot;how2&quot;&gt;how2&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/santinic/how2&quot;&gt;how2&lt;/a&gt; - утилита подобная howdoi, однако дающая выбор на какой вопрос посмотреть ответ. (Парсит всё с StackOverflow)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Оценка: 5. Лучшая утилита для быстрого поиска решений&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;веб-разработка&quot;&gt;Веб-разработка&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://surge.sh/&quot;&gt;Surge&lt;/a&gt; - утилита для быстрого пуша сайтов на бесплатный (или платный, в зависимости от ваших требований) сервер&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/sgentle/caniuse-cmd&quot;&gt;Caniuse&lt;/a&gt; - консольная утилита, которая говорит какие теги поддерживаются в браузерах&lt;/p&gt;

&lt;h2 id=&quot;дополнительные-утилиты&quot;&gt;Дополнительные утилиты&lt;/h2&gt;

&lt;h3 id=&quot;trash-cli&quot;&gt;trash-cli&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/sindresorhus/trash-cli&quot;&gt;trash-cli&lt;/a&gt; - утилита для просмотра того, что содержится в корзине&lt;/p&gt;

&lt;h3 id=&quot;buku&quot;&gt;buku&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/jarun/Buku&quot;&gt;buku&lt;/a&gt; - утилита для быстрой сортировки и хранения закладок сайтов со всех браузеров.&lt;/p&gt;

&lt;h3 id=&quot;tmux&quot;&gt;tmux&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/tmux/tmux&quot;&gt;tmux&lt;/a&gt; - терминальный мультиплексор. Делит окно вашего терминала на панели. Очень удобно, когда в вашем распоряжении нет GUI вообще.&lt;/p&gt;

&lt;h3 id=&quot;text-meme-cli&quot;&gt;text-meme-cli&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/beatfreaker/text-meme-cli&quot;&gt;text-meme-cli&lt;/a&gt; - утилита для создания анимации текста на каком-либо фоне.&lt;/p&gt;

&lt;h3 id=&quot;asciinema&quot;&gt;asciinema&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/asciinema/asciinema&quot;&gt;asciinema&lt;/a&gt; - утилита для записи хронологии команд терминала в гиф-файл.&lt;/p&gt;

&lt;h3 id=&quot;youtube-dl&quot;&gt;Youtube-dl&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/ytdl-org/youtube-dl&quot;&gt;youtube-dl&lt;/a&gt; - утилита для скачивания видео/аудио с видеохостинга Youtube.&lt;/p&gt;

&lt;h3 id=&quot;picofeed&quot;&gt;picofeed&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/seenaburns/picofeed&quot;&gt;picofeed&lt;/a&gt; - легкий RSS клиент для консолей&lt;/p&gt;

&lt;h3 id=&quot;terminalnews&quot;&gt;terminalnews&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/antavelos/terminews&quot;&gt;terminalnews&lt;/a&gt; - ещё один удобный RSS-клиент для консоли.&lt;/p&gt;

&lt;h1 id=&quot;а-что-за-список&quot;&gt;А что за список?&lt;/h1&gt;
&lt;p&gt;Это список утилит, которые я использую сам лично. Дополнительный список вы можете найти здесь &lt;a href=&quot;https://github.com/agarrharr/awesome-cli-apps#terminal-sharing-utilities&quot;&gt;ссылка на репозиторий GitHub&lt;/a&gt;
Я настоятельно попрошу вас дополнить список своими утилитами в комментариях. Если этот пост принёс в ваш терминал хоть чуточку чего-нибудь нового - был рад посодействовать.&lt;/p&gt;</content><author><name></name></author><category term="linux" /><category term="cli" /><category term="fm" /><category term="editors" /><category term="utilities" /><summary type="html">Немного о утилитах на консоли, которые знают немногие, однако они могут быть полезны как для начинающего джуна, так и для крепкого сеньора.</summary></entry><entry><title type="html">Конфигурация i3 под ноутбук: как поднять производительность до 100%?</title><link href="http://localhost:4000/blog/2020/10/18/%D0%9A%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F-i3-%D0%BF%D0%BE%D0%B4-%D0%BD%D0%BE%D1%83%D1%82%D0%B1%D1%83%D0%BA-%D0%BA%D0%B0%D0%BA-%D0%BF%D0%BE%D0%B4%D0%BD%D1%8F%D1%82%D1%8C-%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C-%D0%B4%D0%BE-100.html" rel="alternate" type="text/html" title="Конфигурация i3 под ноутбук: как поднять производительность до 100%?" /><published>2020-10-18T00:35:05+03:00</published><updated>2020-10-18T00:35:05+03:00</updated><id>http://localhost:4000/blog/2020/10/18/%D0%9A%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F%20i3%20%D0%BF%D0%BE%D0%B4%20%D0%BD%D0%BE%D1%83%D1%82%D0%B1%D1%83%D0%BA:%20%D0%BA%D0%B0%D0%BA%20%D0%BF%D0%BE%D0%B4%D0%BD%D1%8F%D1%82%D1%8C%20%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%20%D0%B4%D0%BE%20100%25</id><content type="html" xml:base="http://localhost:4000/blog/2020/10/18/%D0%9A%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F-i3-%D0%BF%D0%BE%D0%B4-%D0%BD%D0%BE%D1%83%D1%82%D0%B1%D1%83%D0%BA-%D0%BA%D0%B0%D0%BA-%D0%BF%D0%BE%D0%B4%D0%BD%D1%8F%D1%82%D1%8C-%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C-%D0%B4%D0%BE-100.html">&lt;p&gt;Недавно я понял, что мой ноутбук недостаточно производителен. Ему не хватает мощности вывезти всё вместе: Vim (+ 20 плагинов), VSCode (+ столько же расширений), Google Chrome (+ 20 вкладок) и так далее. Казалось бы, обычная проблема на ноутбуках с 4 ГБ ОЗУ, однако я не стал сдаваться. Я люблю ноутбуки за их компактность, а также за то, что они могут работать на батарее где угодно. Мне нужно было просто подумать, как освободить лишнюю ОЗУ, а также увеличить энергоэффективность.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/za/im/iz/zaimiz9qe70tbtpjbyqul5-rgs8.jpeg&quot; /&gt;&lt;/p&gt;

&lt;cutoff /&gt;

&lt;hr /&gt;

&lt;blockquote&gt;
  &lt;p&gt;Если вам нужны сразу конфиги, то пролистывайте вниз к разделу “Разбираем установочку”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt; Операционная система &lt;/h1&gt;
&lt;p&gt;Так как мне нужна ОС, которая будет жрать наименьшее количество ОЗУ и батареи, я выбрал &lt;strong&gt;Arch Linux&lt;/strong&gt;. Классика, ничего нового. Его репозитории позволят мне автоматизировать кучу ненужной работы, а &lt;em&gt;&lt;a href=&quot;https://aur.archlinux.org/&quot;&gt;AUR&lt;/a&gt; &lt;/em&gt; позволит сократить ещё больше времени.&lt;/p&gt;

&lt;h1&gt; Менеджер окон&lt;/h1&gt;
&lt;p&gt;Я решил взять именно менеджер окон, а не полноценное окружение. Хоть мне и нравятся кеды (KDE), но они все равно кушают достаточно много из-за того, что они подтягивают за собой много библиотек и зависимостей. Ну и сама по себе DE’шка жрёт много из-за всяких ненужных виджетов.
&lt;img src=&quot;https://habrastorage.org/webt/br/hi/gx/brhigxphmrzwphfktt5vjkv_q2w.jpeg&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2&gt;Разбираем установочку&lt;/h2&gt;
&lt;p&gt;Для начала нам нужно установить все основные пакеты (нужно же нам что-то конфигурировать)&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;pacman &lt;span class=&quot;nt&quot;&gt;-Sy&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--noconfirm&lt;/span&gt; i3 i3-gaps base-devel rofi okular feh vim code picom kitty ranger git xdotool xautolock i3lock-color scrot imagemagick rxvt-unicode urxvt-perls
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Вот примерная схема, как всё будет работать&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/_a/fy/zg/_afyzgb5qfp_mhp1w1flx_ahu9s.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;какие-пакеты-для-чего-нужны&quot;&gt;Какие пакеты для чего нужны?&lt;/h3&gt;
&lt;p&gt;| Пакет        | Для чего нужен                                                                                                  |
| ———— | ————————————————————————————————————— |
| xwinwrap     | Нужен для установки файлов с расширением .gif в виде анимированных обоев                                        |
| polybar      | Нужен для того, чтобы в менеджере окон отображался топбар                                                       |
| i3           | Сам оконный менеджер                                                                                            |
| i3-gaps      | Расширение для оконного менеджера                                                                               |
| base-devel   | Компоненты необходимые для установки polybar                                                                    |
| rofi         | Программа для запуска приложений                                                                                |
| okular       | Программа для просмотра документов                                                                              |
| zathura      | Программа для просмотра документов (поддерживает не так много расширений, однако более минималистичная)         |
| feh          | Программа для просмотра картинок, а также для установки фоновых изображений                                     |
| vim          | Основной редактор                                                                                               |
| code         | Дополнительный редактор                                                                                         |
| picom        | Композитор (программа которая создает тени, прозрачность, блюрит фон)                                           |
| kitty        | Основной терминал                                                                                               |
| urxvt        | Дополнительный терминал                                                                                         |
| ranger       | Файловый менеджер                                                                                               |
| git          | Система контроля версий                                                                                         |
| xdotool      | Утилита, которая поможет при разработке скриптов и взаимодействии с окнами                                      |
| xautolock    | Утилита, которая блокирует компьютер при бездействии и запускает i3-lock                                        |
| i3lock-color | Улучшенная версия i3lock. Программа нужна для блокировки компьютера и ввода пароля                              |
| scrot        | Минималистиченое приложение для создания скриншотов                                                             |
| imagemagick  | Программа, которая поможет при взаимодействии с картинками (блюрит их заранее, конвертирует, меняет разрешение) |&lt;/p&gt;

&lt;h3 id=&quot;конфигурируем-i3&quot;&gt;Конфигурируем i3&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;i3&lt;/strong&gt; - Оконный менеджер, который не потребляет много ресурсов, тем самым, он будет полезен нам для того, чтобы “эмулировать” другие обычные оконные менеджеры. (&lt;em&gt;В подарок конечно же идёт тилинг - способность оконного менеджера раскрывать приложения на всю свободную часть экрана&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;Я буду приводить конфиг &lt;strong&gt;i3&lt;/strong&gt; по частям, для того, чтобы даже новички всё поняли. Начнём с самого главного - кнопка &lt;em&gt;$Mod&lt;/em&gt;. Она служит для того, чтобы взаимодействовать с &lt;strong&gt;i3&lt;/strong&gt;. Через неё будут проходить все основные хоткеи.&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;### Tweaks ###&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Set main key (Win)&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt; Mod4
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Далее научим наш оконный менеджер двигать окна мышью при нажатии &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$mod&lt;/code&gt;&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# Press MOD key and click on mouse to move your window&lt;/span&gt;
floating_modifier &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# Focus doesn't follow the mouse&lt;/span&gt;
focus_follows_mouse no
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Установим шрифты для наших приложений, а также для приложений, которые зависят от &lt;strong&gt;i3&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# Fonts&lt;/span&gt;
font pango: JetBrains Mono 10
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Моей задумкой было сделать все окна изначально &lt;em&gt;летающими&lt;/em&gt; (что, как оказалось, очень удобно). Для пояснения: в &lt;strong&gt;i3&lt;/strong&gt; есть много видов &lt;em&gt;стыковки&lt;/em&gt; окон (Tilling, Fullscreen, Tabbed, Float, Stacking), все они удобны в различных ситуациях, однако я не вижу смысла делать &lt;strong&gt;все&lt;/strong&gt; окна заполняющими весь экран. Пусть лучше они заполняют его при нажатии &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$mod + f&lt;/code&gt;, а висят в воздухе по умолчанию, это я и сделал в следующем куске кода:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# Maximum width for floating windows&lt;/span&gt;
floating_minimum_size 400 x 350
floating_maximum_size 1800 x 900

&lt;span class=&quot;c&quot;&gt;# (1920 - 10)/2 and (1080 - 10)/2&lt;/span&gt;
for_window &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;.*&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; floating &lt;span class=&quot;nb&quot;&gt;enable
&lt;/span&gt;for_window &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;.*&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; resize &lt;span class=&quot;nb&quot;&gt;set &lt;/span&gt;955 535
for_window &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;.*&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; focus
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;blockquote&gt;
  &lt;p&gt;Для того, чтобы вы не путались выражение &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(1920 - 10)/2 and (1080 - 10)/2&lt;/code&gt; означает что каждое окно будет занимать четверть экрана, а также будет отступ (друг от друга) ровно в 5 пикселей (5 со всех сторон).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Далее давайте забиндим все основные приложения. Все хоткеи стараются соответствовать данной схеме&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/s4/4m/ev/s44mevo_27gvaxx8-090pf4iikk.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;## Keyboard Settings ##&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Apps&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Return &lt;span class=&quot;nb&quot;&gt;exec &lt;/span&gt;kitty
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Mod1+r &lt;span class=&quot;nb&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;kitty sh -c 'ranger'&quot;&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Mod1+g &lt;span class=&quot;nb&quot;&gt;exec &lt;/span&gt;google-chrome-stable
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Mod1+c &lt;span class=&quot;nb&quot;&gt;exec &lt;/span&gt;code
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Mod1+v &lt;span class=&quot;nb&quot;&gt;exec &lt;/span&gt;dolphin
bindsym Print &lt;span class=&quot;nb&quot;&gt;exec &lt;/span&gt;spectacle
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Также, забиндим все основные функции, которые мы выполняем не думая, и которые обязательно должны быть&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# System / Volume&lt;/span&gt;
bindsym XF86AudioMute &lt;span class=&quot;s2&quot;&gt;&quot;exec amixer -D pulse sset Master toggle &amp;amp;&amp;amp; notify-send &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Volume&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Sound is (un)muted&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; --urgency low&quot;&lt;/span&gt;
bindsym XF86AudioRaiseVolume &lt;span class=&quot;s2&quot;&gt;&quot;exec amixer -D pulse sset Master 5%+ &amp;amp;&amp;amp; notify-send &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Volume&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Volume added +5%&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;    Volume level is now &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;amixer &lt;span class=&quot;nt&quot;&gt;-D&lt;/span&gt; pulse get Master | &lt;span class=&quot;nb&quot;&gt;awk&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-F&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'Left:|[][]'&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'BEGIN {RS=\&quot;\&quot;}{ print $3 }'&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; --urgency low&quot;&lt;/span&gt;
bindsym XF86AudioLowerVolume &lt;span class=&quot;s2&quot;&gt;&quot;exec amixer -D pulse sset Master 5%- &amp;amp;&amp;amp; notify-send &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Volume&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Volume added -5%&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;    Volume level is now &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;amixer &lt;span class=&quot;nt&quot;&gt;-D&lt;/span&gt; pulse get Master | &lt;span class=&quot;nb&quot;&gt;awk&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-F&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'Left:|[][]'&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'BEGIN {RS=\&quot;\&quot;}{ print $3 }'&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; --urgency low&quot;&lt;/span&gt;


&lt;span class=&quot;c&quot;&gt;# System / Brightness&lt;/span&gt;
bindsym XF86MonBrightnessDown &lt;span class=&quot;nb&quot;&gt;exec &lt;/span&gt;xbacklight &lt;span class=&quot;nt&quot;&gt;-dec&lt;/span&gt; 5
bindsym XF86MonBrightnessUp &lt;span class=&quot;nb&quot;&gt;exec &lt;/span&gt;xbacklight &lt;span class=&quot;nt&quot;&gt;-inc&lt;/span&gt; 5

&lt;span class=&quot;c&quot;&gt;# Moving from one window to another&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+h focus left
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+j focus down
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+k focus up
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+l focus right

&lt;span class=&quot;c&quot;&gt;# Choose one of your workspaces&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+1 workspace &lt;span class=&quot;nv&quot;&gt;$workspace1&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+2 workspace &lt;span class=&quot;nv&quot;&gt;$workspace2&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+3 workspace &lt;span class=&quot;nv&quot;&gt;$workspace3&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+4 workspace &lt;span class=&quot;nv&quot;&gt;$workspace4&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# Move window to the workspace&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Shift+1 move container to workspace &lt;span class=&quot;nv&quot;&gt;$workspace1&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Shift+2 move container to workspace &lt;span class=&quot;nv&quot;&gt;$workspace2&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Shift+3 move container to workspace &lt;span class=&quot;nv&quot;&gt;$workspace3&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Shift+4 move container to workspace &lt;span class=&quot;nv&quot;&gt;$workspace4&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;## Floating manipulation ##&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Make window floating&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+f floating toggle
&lt;span class=&quot;c&quot;&gt;# Change focus&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Shift+f focus mode_toggle

&lt;span class=&quot;c&quot;&gt;# Move windows&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Shift+h move left 20px
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Shift+j move down 20px
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Shift+k move up 20px
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Shift+l move right 20px

&lt;span class=&quot;c&quot;&gt;# Resizing Windows&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Ctrl+l resize shrink width 10 px or 10 ppt
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Ctrl+k resize grow height 10 px or 10 ppt
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Ctrl+j resize shrink height 10 px or 10 ppt
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+Ctrl+h resize grow width 10 px or 10 ppt

&lt;span class=&quot;c&quot;&gt;# Make window fullscreen&lt;/span&gt;
bindcode 95 fullscreen toggle

&lt;span class=&quot;c&quot;&gt;# Reload Configuration&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+p reload

&lt;span class=&quot;c&quot;&gt;# Kill a window&lt;/span&gt;
bindsym &lt;span class=&quot;nv&quot;&gt;$mod&lt;/span&gt;+x &lt;span class=&quot;nb&quot;&gt;exec &lt;/span&gt;xdotool getwindowfocus windowkill
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Сделаем секцию автостарта&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;### Autostart ###&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Lockscreen after 10min delay&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--no-startup-id&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$HOME&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/.config/i3/lockscreen&quot;&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Convert background gif to jpg&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--no-startup-id&lt;/span&gt; convert &lt;span class=&quot;nt&quot;&gt;-verbose&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$HOME&lt;/span&gt;/.config/i3/&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;gif.gif,gif.jpg&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Generate Colorscheme&lt;/span&gt;
exec_always &lt;span class=&quot;nt&quot;&gt;--no-startup-id&lt;/span&gt; wal &lt;span class=&quot;nt&quot;&gt;-i&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$HOME&lt;/span&gt;/.config/i3/gif-0.jpg
&lt;span class=&quot;c&quot;&gt;# Compositor&lt;/span&gt;
exec_always &lt;span class=&quot;nt&quot;&gt;--no-startup-id&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;killall -q picom; picom --config &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$HOME&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/.config/picom.conf&quot;&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Language&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--no-startup-id&lt;/span&gt; setxkbmap &lt;span class=&quot;nt&quot;&gt;-model&lt;/span&gt; pc105 &lt;span class=&quot;nt&quot;&gt;-layout&lt;/span&gt; us,ru &lt;span class=&quot;nt&quot;&gt;-option&lt;/span&gt; grp:win_space_toggle
&lt;span class=&quot;c&quot;&gt;# Dunst&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--no-startup-id&lt;/span&gt; dunst
&lt;span class=&quot;c&quot;&gt;# Kitty&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;exec &lt;/span&gt;kitty
&lt;span class=&quot;c&quot;&gt;# Dropbox&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;exec&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--no-startup-id&lt;/span&gt; dropbox &amp;amp;
&lt;span class=&quot;c&quot;&gt;# Polybar&lt;/span&gt;
exec_always &lt;span class=&quot;nt&quot;&gt;--no-startup-id&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$HOME&lt;/span&gt;/.config/polybar/launch.sh
&lt;span class=&quot;c&quot;&gt;# Cursor&lt;/span&gt;
exec_always &lt;span class=&quot;nt&quot;&gt;--no-startup-id&lt;/span&gt; xsetroot &lt;span class=&quot;nt&quot;&gt;-cursor_name&lt;/span&gt; left_ptr
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;i3-gaps&lt;/strong&gt; - сборка i3, которая добавляет много новых функций. Одной из них является добавление отступов (gaps), которые визуально выглядят очень хорошо.&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;### i3-gaps ###&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Borders for windows&lt;/span&gt;
for_window &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;.*&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; border pixel 5

&lt;span class=&quot;c&quot;&gt;# Gaps for i3bar&lt;/span&gt;
for_window &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;i3bar&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; gaps outer current &lt;span class=&quot;nb&quot;&gt;set &lt;/span&gt;10

&lt;span class=&quot;c&quot;&gt;# Gaps&lt;/span&gt;
gaps inner 10
gaps outer 4


&lt;span class=&quot;c&quot;&gt;### Topbar and color theme ###&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Color theme of borders&lt;/span&gt;
client.focused              &lt;span class=&quot;c&quot;&gt;#bf616a #2f343f #d8dee8 #bf616a #d8dee8&lt;/span&gt;
client.focused_inactive     &lt;span class=&quot;c&quot;&gt;#2f343f #kf343f #d8dee8 #2f343f #2f343f&lt;/span&gt;
client.unfocused            &lt;span class=&quot;c&quot;&gt;#2f343f #2f343f #d8dee8 #2f343f #2f343f&lt;/span&gt;
client.urgent               &lt;span class=&quot;c&quot;&gt;#2f343f #2f343f #d8dee8 #2f343f #2f343f&lt;/span&gt;
client.placeholder          &lt;span class=&quot;c&quot;&gt;#2f343f #2f343f #d8dee8 #2f343f #2f343f&lt;/span&gt;
client.background           &lt;span class=&quot;c&quot;&gt;#2f343f&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;что-получилось&quot;&gt;Что получилось?&lt;/h2&gt;
&lt;p&gt;А получилась довольно минималистичная сборка на i3, которая очень шустро работает на ноутбуках и даёт неплохие показатели&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/p9/fe/8s/p9fe8s6lim52xc_pyxx-yj8sq6o.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Так как конфигураций я написал ещё очень много (что отлично видно на скриншоте) их можно найти в репозитории &lt;a href=&quot;https://github.com/us3rn4me-profile/GreatI3&quot;&gt;Great i3&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ещё пару скриншотов&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/y0/ry/f_/y0ryf_4_wzhvhfg1dw_bhcarus0.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/2n/kd/ws/2nkdws06uqfunrzsnqdyquxorvo.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://habrastorage.org/webt/bq/n5/mq/bqn5mq_qac0cpioonu0aq1k-uua.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</content><author><name></name></author><category term="linux" /><category term="i3" /><category term="Greati3" /><category term="config" /><summary type="html">Недавно я понял, что мой ноутбук недостаточно производителен. Ему не хватает мощности вывезти всё вместе: Vim (+ 20 плагинов), VSCode (+ столько же расширений), Google Chrome (+ 20 вкладок) и так далее. Казалось бы, обычная проблема на ноутбуках с 4 ГБ ОЗУ, однако я не стал сдаваться. Я люблю ноутбуки за их компактность, а также за то, что они могут работать на батарее где угодно. Мне нужно было просто подумать, как освободить лишнюю ОЗУ, а также увеличить энергоэффективность.</summary></entry><entry><title type="html">Всё про SSH</title><link href="http://localhost:4000/blog/2020/10/16/welcome-to-jekyll.html" rel="alternate" type="text/html" title="Всё про SSH" /><published>2020-10-16T21:44:05+03:00</published><updated>2020-10-16T21:44:05+03:00</updated><id>http://localhost:4000/blog/2020/10/16/welcome-to-jekyll</id><content type="html" xml:base="http://localhost:4000/blog/2020/10/16/welcome-to-jekyll.html">&lt;p&gt;&lt;strong&gt;SSH&lt;/strong&gt;- &lt;strong&gt;S&lt;/strong&gt;ecure &lt;strong&gt;Sh&lt;/strong&gt;ell. Он нужен для безопасного подключения между хостом (&lt;em&gt;компьютер, на котором будут производиться все действия. Его ещё называют сервер&lt;/em&gt;) и клиентом (&lt;em&gt;компьютер, с которого будут производиться все действия. Его часто называют клиентом&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;Дабы установить SSH (&lt;em&gt;для нас это клиент OpenSSH&lt;/em&gt;), нужно выполнить следующую команду:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;pacman &lt;span class=&quot;nt&quot;&gt;-Sy&lt;/span&gt; openssh
&lt;span class=&quot;c&quot;&gt;# или&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;dnf &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;openssh
&lt;span class=&quot;c&quot;&gt;# или&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;apt &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;openssh
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Клиент установлен. Теперь время настройки OpenSSH&lt;/p&gt;

&lt;h2 id=&quot;настройки-для-клиента&quot;&gt;Настройки для клиента&lt;/h2&gt;

&lt;p&gt;Настройки для клиента находятся в &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/etc/ssh/ssh_config&lt;/code&gt;.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;c&quot;&gt;# Для всех&lt;/span&gt;
Host &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Порт по умолчанию&lt;/span&gt;
Port 2020
&lt;span class=&quot;c&quot;&gt;# Запрещаю локальные команды&lt;/span&gt;
PermitLocalCommand no
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Для того, чтобы точно посмотреть какой аргумент что делает нужно написать &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;man ssh_config&lt;/code&gt;.&lt;/p&gt;

&lt;h2 id=&quot;настройка-сервера-ssh&quot;&gt;Настройка сервера SSH&lt;/h2&gt;

&lt;p&gt;Настройки для сервера находятся в &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/etc/ssh/sshd_config&lt;/code&gt;. &lt;strong&gt;SSHd&lt;/strong&gt;- &lt;strong&gt;S&lt;/strong&gt;ecure &lt;strong&gt;Sh&lt;/strong&gt;ell &lt;strong&gt;D&lt;/strong&gt;aemon, это демон, который запускает сервер в фоновом режиме с конфигом, лежит по расположению описанному выше.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;c&quot;&gt;# Порт&lt;/span&gt;
Port 2020
&lt;span class=&quot;c&quot;&gt;# Время подключения&lt;/span&gt;
LoginGraceTime 1m
&lt;span class=&quot;c&quot;&gt;# Логиниться в рут, только если есть пароль от него&lt;/span&gt;
PermitRootLogin prohibit-password
&lt;span class=&quot;c&quot;&gt;# Максимальное число попыток входа&lt;/span&gt;
MaxAuthTries 3
&lt;span class=&quot;c&quot;&gt;# Максимальное количество сессий&lt;/span&gt;
MaxSessions 2
&lt;span class=&quot;c&quot;&gt;# Использовать ключ для входа&lt;/span&gt;
PubkeyAuthentication &lt;span class=&quot;nb&quot;&gt;yes&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Файл, в котором проверяются доверенные ключи&lt;/span&gt;
AuthorizedKeysFile .ssh/authorized_keys
&lt;span class=&quot;c&quot;&gt;# Перенаправлять X&lt;/span&gt;
X11Forwarding no
X11DisplayOffset 10
X11UseLocalhost &lt;span class=&quot;nb&quot;&gt;yes&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Разрешить TTY&lt;/span&gt;
PermitTTY &lt;span class=&quot;nb&quot;&gt;yes
&lt;/span&gt;PrintMotd no &lt;span class=&quot;c&quot;&gt;# pam does that&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Принтить последнее вхождение&lt;/span&gt;
PrintLastLog &lt;span class=&quot;nb&quot;&gt;yes&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Баннер&lt;/span&gt;
Banner ~/.bannerForSSH
&lt;span class=&quot;c&quot;&gt;# Разрешение подключаться с помощью пароля&lt;/span&gt;
PasswordAuthentication no
PermitEmptyPasswords no
&lt;span class=&quot;c&quot;&gt;# override default of no subsystems&lt;/span&gt;
Subsystem sftp /usr/lib/ssh/sftp-server

&lt;span class=&quot;c&quot;&gt;#HostKey /etc/ssh/ssh_host_rsa_key&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;#HostKey /etc/ssh/ssh_host_ecdsa_key&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;#HostKey /etc/ssh/ssh_host_ed25519_key&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;#AuthorizedPrincipalsFile none&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Set this to 'yes' to enable PAM authentication, account processing,&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# and session processing. If this is enabled, PAM authentication will&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# be allowed through the ChallengeResponseAuthentication and&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# PasswordAuthentication. Depending on your PAM configuration,&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# PAM authentication via ChallengeResponseAuthentication may bypass&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# the setting of &quot;PermitRootLogin without-password&quot;.&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# If you just want the PAM account and session checks to run without&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# PAM authentication, then enable this but set PasswordAuthentication&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# and ChallengeResponseAuthentication to 'no'.&lt;/span&gt;
UsePAM &lt;span class=&quot;nb&quot;&gt;yes&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Для того, чтобы точно посмотреть какой аргумент что делает нужно написать &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;man
sshd_config&lt;/code&gt;.&lt;/p&gt;

&lt;h2 id=&quot;генерация-ключей&quot;&gt;Генерация ключей&lt;/h2&gt;

&lt;p&gt;Доступ к серверу по паролю, хотя бы, просто не безопасен. Нам нужен ключ, с помощью которого только мы сможем подключаться к хосту. Чтобы взломать этот ключ,
потребовалось бы около 1500 лет [Википедия].&lt;/p&gt;

&lt;p&gt;Для того, чтобы получить такой ключ, воспользуемся утилитой, которая уже идёт вместе с
пакетом &lt;strong&gt;OpenSSH&lt;/strong&gt;.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;ssh-keygen &lt;span class=&quot;nt&quot;&gt;-t&lt;/span&gt; rsa
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Далее называем наш файл и указываем путь к нему. По умолчанию это &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~/.ssh/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Теперь внимательно&lt;/strong&gt;: ключ с форматом &lt;em&gt;.pub&lt;/em&gt; скидываем на сервер через физический
доступ (флешка или другой накопитель) в папку .ssh, а также &lt;em&gt;предварительно&lt;/em&gt;
&lt;em&gt;переименовываем его в&lt;/em&gt; authorized_keys&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;c&quot;&gt;#Файл уже на сервере&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; ~/.ssh
&lt;span class=&quot;nb&quot;&gt;cat &lt;/span&gt;id_rsa.pub &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; ~/.ssh/authorized_keys
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Или делаем это всё командой (без физического доступа к серверу):&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;ssh-copy-id &lt;span class=&quot;nt&quot;&gt;-i&lt;/span&gt; ~/.ssh/id_rsa.pub servername@ip &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; port
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;img src=&quot;/assets/img/mermaid-diagram-20201017060859.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Ключ &lt;strong&gt;без разрешения&lt;/strong&gt;- ваш &lt;em&gt;приватный&lt;/em&gt; ключ. Его не нужно никому отдавать. Он ваш.
Распечатайте и положите под коврик у входа.
После того, как вы скинули файл с разрешением &lt;em&gt;.pub&lt;/em&gt; , вы можете спокойно использовать
сервер.&lt;/p&gt;

&lt;!-- Variables --&gt;</content><author><name></name></author><category term="linux" /><category term="ssh" /><category term="sshd" /><summary type="html">SSH- Secure Shell. Он нужен для безопасного подключения между хостом (компьютер, на котором будут производиться все действия. Его ещё называют сервер) и клиентом (компьютер, с которого будут производиться все действия. Его часто называют клиентом).</summary></entry></feed>