linux https://16rom.com/ru ru Steam libgl1-mesa-dri:i386 : Depends: libllvm9:i386 https://16rom.com/ru/blog/steam-libgl1-mesa-drii386-depends-libllvm9i386 <span property="schema:name" class="field field-name-title field-formatter-string field-type-string field-label-hidden">Steam libgl1-mesa-dri:i386 : Depends: libllvm9:i386 </span> <div property="schema:text" class="clearfix text-formatted field field-node--body field-formatter-text-default field-name-body field-type-text-with-summary field-label-hidden has-single"><div class="field__items"><div property="schema:text" class="field__item"><p><span style="line-height:100%">Давно не запускал Steam, обновил систему dist-upgrage. И после запуска выдало что нужно доустановить библиотеки. Но установить не смог, тк были конфликты в версиях. Предлагаю свое решение, с которым все заработало.</span></p> <p> </p> <p><span style="line-height:100%">Сообщение Steam о необходимости установки пакетов:</span></p> <pre> <span style="line-height:100%">$ steam</span> <span style="line-height:100%">Package libgl1-mesa-dri:i386 needs to be installed</span> <span style="line-height:100%">Package libgl1-mesa-glx:i386 needs to be installed</span> <span style="line-height:100%">...</span></pre><p> </p> <p><span style="line-height:100%">Пробую вручную</span></p> <pre> <span style="line-height:100%">$ sudo apt install libgl1-mesa-dri:i386 libgl1-mesa-glx:i386</span> <span style="line-height:100%">...</span> <span style="line-height:100%">The following packages have unmet dependencies:</span> <span style="line-height:100%">libgl1-mesa-dri:i386 : Depends: libllvm9:i386 (&gt;= 1:9~svn298832-1~) but it is not going to be installed</span></pre><p> </p> <p><span style="line-height:100%">Ок, смотрим дальше, чего ему не хватает.</span></p> <pre> <span style="line-height:100%">$ sudo apt install libllvm9:i386</span> <span style="line-height:100%">...</span> <span style="line-height:100%">The following packages have unmet dependencies:</span> <span style="line-height:100%">libllvm9:i386 : Depends: libatomic1:i386 (&gt;= 4.8) but it is not going to be installed</span> <span style="line-height:100%">$ sudo apt install libatomic1:i386</span> <span style="line-height:100%">...</span> <span style="line-height:100%">The following packages have unmet dependencies:</span> <span style="line-height:100%">debhelper : Depends: dh-autoreconf (&gt;= 17~) but it is not going to be installed</span> <span style="line-height:100%">libicu-dev : Depends: libstdc++-6-dev but it is not going to be installed or</span> <span style="line-height:100%">libstdc++-dev</span> <span style="line-height:100%">virtualbox : Depends: virtualbox-dkms (&gt;= 5.2.34-dfsg-0~ubuntu18.04.1) but it is not going to be installed or</span> <span style="line-height:100%">virtualbox-source (&gt;= 5.2.34-dfsg-0~ubuntu18.04.1) but it is not going to be installed or</span> <span style="line-height:100%">virtualbox-modules</span></pre><p> </p> <p><span style="line-height:100%">Установил вручную все что можно:</span></p> <pre> <span style="line-height:100%">$ sudo apt install virtualbox-dkms virtualbox-source virtualbox-modules libatomic1:i386 libstdc++-6-dev</span></pre><p> </p> <p><span style="line-height:100%">После этого осталась только одна ошибка с dh-autoreconf. Но проблема в том, что у меня стояла какраз 17 версия.</span></p> <p> </p> <pre> <span style="line-height:100%">$ sudo apt install dh-autoreconf</span> <span style="line-height:100%">...</span> <span style="line-height:100%">dh-autoreconf is already the newest version (17).</span></pre><p> </p> <p><span style="line-height:100%">Прочитал на stackoverflow что возможно нужно использовать backport репозитории.</span></p> <p><a href="https://askubuntu.com/questions/25717/how-do-i-enable-the-backports-repository"><span style="line-height:100%">https://askubuntu.com/questions/25717/how-do-i-enable-the-backports-repository</span></a></p> <p><span style="line-height:100%">Добавил в файл /etc/apt/preferences (возможно он не был создан ранее) строки:</span></p> <p> </p> <pre> <span style="line-height:100%">Package: *</span> <span style="line-height:100%">Pin: release a=&lt;release&gt;-backports</span> <span style="line-height:100%">Pin-Priority: 500</span></pre><p> </p> <p><span style="line-height:100%">После этого обновился и проверил какие пакеты могут обновится.</span></p> <pre> <span style="line-height:100%">$ sudo apt update</span> <span style="line-height:100%">$ apt list --upgradable</span> <span style="line-height:100%">Listing... Done</span> <span style="line-height:100%">debhelper/bionic-backports,bionic-backports 12.1.1ubuntu1~ubuntu18.04.1 all [upgradable from: 11.1.6ubuntu2]</span> <span style="line-height:100%">dh-autoreconf/bionic-backports,bionic-backports 19~ubuntu18.04.1 all [upgradable from: 17]</span> <span style="line-height:100%">init/bionic-backports 1.56+nmu1~ubuntu18.04.1 amd64 [upgradable from: 1.51]</span> <span style="line-height:100%">init-system-helpers/bionic-backports,bionic-backports 1.56+nmu1~ubuntu18.04.1 all [upgradable from: 1.51]</span> <span style="line-height:100%">iproute2/bionic-backports 4.18.0-1ubuntu2~ubuntu18.04.1 amd64 [upgradable from: 4.15.0-2ubuntu1]</span> <span style="line-height:100%">simple-scan/bionic 3.28.0-0ubuntu1 amd64 [upgradable from: 3.20.0-0ubuntu1]</span> <span style="line-height:100%">smartmontools/bionic-backports 7.0-0ubuntu1~ubuntu18.04.1 amd64 [upgradable from: 6.5+svn4324-1]</span> <span style="line-height:100%">$ sudo apt upgrade</span></pre><p> </p> <p><span style="line-height:100%">Но в итоге все рано ошибка</span></p> <pre> <span style="line-height:100%">$ sudo apt install dh-autoreconf</span> <span style="line-height:100%">...</span> <span style="line-height:100%">dh-autoreconf is already the newest version (19~ubuntu18.04.1).</span></pre><p> </p> <p><span style="line-height:100%">В общем, решил пойти экстремальным путем - удалить пакет, с которым проблем и установить его заново.</span></p> <p> </p> <pre> <span style="line-height:100%">$ sudo apt remove dh-autoreconf</span> <span style="line-height:100%">...</span> <span style="line-height:100%">The following packages were automatically installed and are no longer required:</span> <span style="line-height:100%">dwz intltool-debian kbuild libarchive-cpio-perl libarchive-zip-perl libfile-stripnondeterminism-perl libmail-sendmail-perl libsys-hostname-long-perl module-assistant po-debconf</span> <span style="line-height:100%">Use 'sudo apt autoremove' to remove them.</span> <span style="line-height:100%">The following packages will be REMOVED:</span> <span style="line-height:100%">debhelper dh-autoreconf dh-strip-nondeterminism virtualbox-source</span> <span style="line-height:100%">0 upgraded, 0 newly installed, 4 to remove and 1 not upgraded.</span> <span style="line-height:100%">After this operation, 2 606 kB disk space will be freed.</span></pre><p> </p> <p><span style="line-height:100%">После этого запустил установку libatomic1:i386</span></p> <p> </p> <pre> <span style="line-height:100%">$ sudo apt install libatomic1:i386</span> <span style="line-height:100%">...</span> <span style="line-height:100%">The following packages were automatically installed and are no longer required:</span> <span style="line-height:100%">bison cpp-5 dwz flex gir1.2-gtk-2.0 gir1.2-harfbuzz-0.0 icu-devtools intltool-debian kbuild lib32gcc1 lib32stdc++6 libarchive-cpio-perl libarchive-zip-perl libasan2 libasan3 libasan4</span> <span style="line-height:100%">libatk1.0-dev libatkmm-1.6-dev libbison-dev libcairo-script-interpreter2 libcairo2-dev libcairomm-1.0-dev libcilkrts5 libclang-common-6.0-dev libffi-dev libfile-stripnondeterminism-perl</span> <span style="line-height:100%">libfl-dev libfl2 libgdk-pixbuf2.0-dev libglibmm-2.4-dev libgraphite2-dev libgsoap-2.8.60 libharfbuzz-gobject0 libicu-le-hb0 libiculx60 libisl15 libitm1 liblsan0 libltdl-dev libmail-sendmail-perl</span> <span style="line-height:100%">libmpx0 libmpx2 libobjc4 libomp-dev libomp5 libpixman-1-dev libsigc++-2.0-dev libsys-hostname-long-perl libtsan0 libubsan0 libvncserver1 libxcb-shm0-dev libxcomposite-dev libxft-dev</span> <span style="line-height:100%">libxml2-utils llvm-6.0 llvm-6.0-dev llvm-6.0-runtime module-assistant po-debconf x11proto-composite-dev</span> <span style="line-height:100%">Use 'sudo apt autoremove' to remove them.</span> <span style="line-height:100%">The following packages will be REMOVED:</span> <span style="line-height:100%">acpi-call-dkms build-essential clang clang-6.0 dkms g++ g++-7 gcc gcc-5 gcc-7 libatomic1 libgcc-5-dev libgcc-6-dev libgcc-7-dev libgtk2.0-dev libgtkmm-2.4-dev libharfbuzz-dev libicu-dev</span> <span style="line-height:100%">libicu-le-hb-dev libobjc-7-dev libpango1.0-dev libpangomm-1.4-dev libstdc++-5-dev libstdc++-6-dev libstdc++-7-dev libtool virtualbox virtualbox-dkms virtualbox-qt</span> <span style="line-height:100%">The following NEW packages will be installed:</span> <span style="line-height:100%">libatomic1:i386</span> <span style="line-height:100%">0 upgraded, 1 newly installed, 29 to remove and 1 not upgraded.</span> <span style="line-height:100%">Need to get 9 720 B of archives.</span> <span style="line-height:100%">After this operation, 389 MB disk space will be freed.</span> <span style="line-height:100%">Do you want to continue? [Y/n]</span></pre><p> </p> <p><span style="line-height:100%">Много чего удалилось. Надеюсь действительно ненужного.</span></p> <p><span style="line-height:100%">После устновки libatomic запустил установку того чего не хватало стиму.</span></p> <p> </p> <pre> <span style="line-height:100%">$ sudo apt-get install libgl1-mesa-dri:i386 libgl1-mesa-glx:i386</span> <span style="line-height:100%">Reading package lists... Done</span> <span style="line-height:100%">Building dependency tree</span> <span style="line-height:100%">Reading state information... Done</span> <span style="line-height:100%">The following packages were automatically installed and are no longer required:</span> <span style="line-height:100%">bison cpp-5 dwz flex gir1.2-gtk-2.0 gir1.2-harfbuzz-0.0 icu-devtools intltool-debian kbuild lib32gcc1 lib32stdc++6 libarchive-cpio-perl libarchive-zip-perl libasan2 libasan3 libasan4</span> <span style="line-height:100%">libatk1.0-dev libatkmm-1.6-dev libbison-dev libcairo-script-interpreter2 libcairo2-dev libcairomm-1.0-dev libcilkrts5 libclang-common-6.0-dev libffi-dev libfile-stripnondeterminism-perl</span> <span style="line-height:100%">libfl-dev libfl2 libgdk-pixbuf2.0-dev libglibmm-2.4-dev libgraphite2-dev libgsoap-2.8.60 libharfbuzz-gobject0 libicu-le-hb0 libiculx60 libisl15 libitm1 liblsan0 libltdl-dev libmail-sendmail-perl</span> <span style="line-height:100%">libmpx0 libmpx2 libobjc4 libomp-dev libomp5 libpixman-1-dev libsigc++-2.0-dev libsys-hostname-long-perl libtsan0 libubsan0 libvncserver1 libxcb-shm0-dev libxcomposite-dev libxft-dev</span> <span style="line-height:100%">libxml2-utils llvm-6.0 llvm-6.0-dev llvm-6.0-runtime module-assistant po-debconf x11proto-composite-dev</span> <span style="line-height:100%">Use 'sudo apt autoremove' to remove them.</span> <span style="line-height:100%">The following additional packages will be installed:</span> <span style="line-height:100%">libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libedit2:i386 libelf1:i386 libgl1:i386 libglx-mesa0:i386 libglx0:i386 libllvm9:i386 libpciaccess0:i386</span> <span style="line-height:100%">libsensors4:i386 libxcb-glx0:i386</span> <span style="line-height:100%">Suggested packages:</span> <span style="line-height:100%">lm-sensors:i386</span> <span style="line-height:100%">The following NEW packages will be installed:</span> <span style="line-height:100%">libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libedit2:i386 libelf1:i386 libgl1:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386 libglx-mesa0:i386 libglx0:i386</span> <span style="line-height:100%">libllvm9:i386 libpciaccess0:i386 libsensors4:i386 libxcb-glx0:i386</span> <span style="line-height:100%">0 upgraded, 15 newly installed, 0 to remove and 1 not upgraded.</span> <span style="line-height:100%">Need to get 24,9 MB of archives.</span> <span style="line-height:100%">After this operation, 324 MB of additional disk space will be used.</span> <span style="line-height:100%">Do you want to continue? [Y/n]</span></pre><p> </p> <p><span style="line-height:100%">И Steam наконец-то запустился.</span></p> </div></div> </div> <span rel="schema:author" class="field field-name-uid field-formatter-author field-type-entity-reference field-label-hidden"><span lang="" about="/ru/userauth/1" typeof="schema:Person" property="schema:name" datatype="">Админ</span></span> <span property="schema:dateCreated" content="2020-04-18T00:36:52+00:00" class="field field-name-created field-formatter-timestamp field-type-created field-label-hidden">Sat, 04/18/2020 - 03:36</span> <div class="field field-node-field-tags field-entity-reference-type-taxonomy-term field-formatter-entity-reference-label field-name-field-tags field-type-entity-reference field-label-above"><h3 class="field__label">Теги</h3><div class="field__items"><div class="field__item field__item--linux"> <span class="field__item-wrapper"><a href="/ru/tags/linux" property="schema:about" hreflang="ru">linux</a></span> </div><div class="field__item field__item--ubuntu"> <span class="field__item-wrapper"><a href="/ru/tags/ubuntu" property="schema:about" hreflang="ru">ubuntu</a></span> </div><div class="field__item field__item--error"> <span class="field__item-wrapper"><a href="/ru/tags/error" property="schema:about" hreflang="ru">error</a></span> </div></div> </div> <section id="node-article-comment-node-article" class="field field-node--comment-node-article field-formatter-comment-default field-name-comment-node-article field-type-comment field-label-hidden display-mode-threaded comment-bundle-comment-node-article comment-wrapper"> <a name="comments"></a><div class="comment-form-wrapper"> <h2 class="comment-form__title h3">Добавить комментарий</h2><drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=340&amp;2=comment_node_article&amp;3=comment_node_article" token="rr7ItfO09c_Kufumi5xeEclqpGiK1ZgDDJBmyuKV-5k"></drupal-render-placeholder></div></section> Sat, 18 Apr 2020 00:36:52 +0000 admin_romcom 340 at https://16rom.com https://16rom.com/ru/blog/steam-libgl1-mesa-drii386-depends-libllvm9i386#comments ошибка librtmp.so.0 не найден https://16rom.com/ru/blog/oshibka-librtmpso0-ne-nayden <span property="schema:name" class="field field-name-title field-formatter-string field-type-string field-label-hidden">ошибка librtmp.so.0 не найден</span> <div property="schema:text" class="clearfix text-formatted field field-node--body field-formatter-text-default field-name-body field-type-text-with-summary field-label-hidden has-single"><div class="field__items"><div property="schema:text" class="field__item"><p>Ubuntu 18.04.4 LTS при запуске обновленной версии программы Idea Maker версии 3.5.2 из файла ideaMaker-3.5.2.4098.glibc2.15-x86_64.AppImage вылетает ошибка</p> <pre> ideamaker.real: error while loading shared libraries: librtmp.so.0: cannot open shared object file: No such file or directory</pre><p>Решить её оказалось довольно просто. Проверяем наличие библиотеки</p> <pre> $ locate librtmp.so.1 /usr/lib/x86_64-linux-gnu/librtmp.so.1</pre><p>Если библиотеку нашло - создаем ссылку с версии 1 на версию 0.</p> <pre> $ sudo ln -s /usr/lib/x86_64-linux-gnu/librtmp.so.1 /usr/lib/x86_64-linux-gnu/librtmp.so.0 </pre></div></div> </div> <span rel="schema:author" class="field field-name-uid field-formatter-author field-type-entity-reference field-label-hidden"><span lang="" about="/ru/userauth/1" typeof="schema:Person" property="schema:name" datatype="">Админ</span></span> <span property="schema:dateCreated" content="2020-04-09T22:42:00+00:00" class="field field-name-created field-formatter-timestamp field-type-created field-label-hidden">Fri, 04/10/2020 - 01:42</span> <div class="field field-node-field-tags field-entity-reference-type-taxonomy-term field-formatter-entity-reference-label field-name-field-tags field-type-entity-reference field-label-above"><h3 class="field__label">Теги</h3><div class="field__items"><div class="field__item field__item--linux"> <span class="field__item-wrapper"><a href="/ru/tags/linux" property="schema:about" hreflang="ru">linux</a></span> </div><div class="field__item field__item--error"> <span class="field__item-wrapper"><a href="/ru/tags/error" property="schema:about" hreflang="ru">error</a></span> </div><div class="field__item field__item--shell"> <span class="field__item-wrapper"><a href="/ru/tags/shell" property="schema:about" hreflang="ru">shell</a></span> </div></div> </div> <section id="node-article-comment-node-article--2" class="field field-node--comment-node-article field-formatter-comment-default field-name-comment-node-article field-type-comment field-label-hidden display-mode-threaded comment-bundle-comment-node-article comment-wrapper"> <a name="comments"></a><div class="comment-form-wrapper"> <h2 class="comment-form__title h3">Добавить комментарий</h2><drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=339&amp;2=comment_node_article&amp;3=comment_node_article" token="mbZoRmcoTI7j2mhGAp4Crnow99rf7qJ4O10-hmdCitQ"></drupal-render-placeholder></div></section> Thu, 09 Apr 2020 22:42:00 +0000 admin_romcom 339 at https://16rom.com https://16rom.com/ru/blog/oshibka-librtmpso0-ne-nayden#comments Установка Deluge 1.3.15 в Ubuntu eoan 19.10 https://16rom.com/ru/blog/ustanovka-deluge-1315-v-ubuntu-eoan-1910 <span property="schema:name" class="field field-name-title field-formatter-string field-type-string field-label-hidden">Установка Deluge 1.3.15 в Ubuntu eoan 19.10</span> <div property="schema:text" class="clearfix text-formatted field field-node--body field-formatter-text-default field-name-body field-type-text-with-summary field-label-hidden has-single"><div class="field__items"><div property="schema:text" class="field__item"><p>Поставил себе новую версию Ubuntu и столкнулся с проблемой подключению к серверу deluge с помощью программы deluge-gtk. Как оказалось в Ubuntu версии 19.10 eoan выкатили deluge версии 2.0.3 <a href="https://packages.ubuntu.com/eoan/deluge-gtk">https://packages.ubuntu.com/eoan/deluge-gtk</a></p> <p><span>Проблема в том, что для работы приложения клиента требуется такая же версия и на сервере. На сервере обновить пока нет возможности. Нашлось решение установки Deluge последней версии из ветки 1.x.</span></p> <p> </p> <p>Добавляем репозиторий и правим его.</p> <pre> sudo add-apt-repository ppa:deluge-team/ppa</pre><p><span>меняем версию дистрибутива</span></p> <pre> <span>sudo nano /etc/apt/sources.list.d/deluge-team-ubuntu-ppa-eoan.list</span></pre><p><strong><span>eoan → bionic</span></strong></p> <p><span>Или добавляем репозиторий одной комнадой.</span></p> <pre> <span>sudo add-apt-repository 'deb [arch=amd64] http://ppa.launchpad.net/deluge-team/ppa/ubuntu bionic main'</span></pre><p><span>обновляем репы</span></p> <pre> <span>sudo apt update</span></pre><p> </p> <p>Проверяем что у нас появилась старая версия для установки</p> <pre> apt-cache showpkg deluge-gtk apt-cache showpkg deluge-common</pre><p><img alt="" src="https://16rom.com/sites/default/files/articles/deluge-1-13-eoan-01.jpg" style="width: 854px; height: 674px;" /></p> <p>Устанавливаем нужные версии</p> <pre> sudo apt install deluge-common=1.3.15-1~zesty~ppa2 deluge-gtk=1.3.15-1~zesty~ppa2</pre><p><span>Ставим оба приложения на холд, чтоб не обновлялись при апгрейде.</span></p> <pre> sudo apt-mark hold deluge-common deluge-gtk</pre><p><span>Проверяем что они действительно остановленны</span></p> <pre> apt-mark showhold</pre><p><img alt="" src="https://16rom.com/sites/default/files/articles/deluge-1-13-eoan-02.jpg" style="width: 415px; height: 85px;" /></p> <p><span>Для того чтоб вновь обновить пакеты введите команду чтоб снять с них холд.</span></p> <pre> sudo apt-mark unhold deluge-common deluge-gtk</pre><p> </p> <p>Конечно, в итоге желательно обновить deluge на сервере до последней версии. И перед обновлением почитать форум, где можно прочитать как обновиться и не потерять все свои конфиги.</p> <p> </p> <p><style type="text/css"> <!--/*--><![CDATA[/* ><!--*/ @page { size: 8.27in 11.69in; margin: 0.79in } p { margin-bottom: 0.1in; line-height: 115%; background: transparent } a:link { color: #000080; so-language: zxx; text-decoration: underline } /*--><!]]>*/ </style></p> </div></div> </div> <span rel="schema:author" class="field field-name-uid field-formatter-author field-type-entity-reference field-label-hidden"><span lang="" about="/ru/userauth/1" typeof="schema:Person" property="schema:name" datatype="">Админ</span></span> <span property="schema:dateCreated" content="2020-02-17T11:12:28+00:00" class="field field-name-created field-formatter-timestamp field-type-created field-label-hidden">Mon, 02/17/2020 - 13:12</span> <div class="field field-node-field-tags field-entity-reference-type-taxonomy-term field-formatter-entity-reference-label field-name-field-tags field-type-entity-reference field-label-above"><h3 class="field__label">Теги</h3><div class="field__items"><div class="field__item field__item--linux"> <span class="field__item-wrapper"><a href="/ru/tags/linux" property="schema:about" hreflang="ru">linux</a></span> </div><div class="field__item field__item--ubuntu"> <span class="field__item-wrapper"><a href="/ru/tags/ubuntu" property="schema:about" hreflang="ru">ubuntu</a></span> </div><div class="field__item field__item--deluge"> <span class="field__item-wrapper"><a href="/ru/tags/deluge" property="schema:about" hreflang="ru">deluge</a></span> </div></div> </div> <section id="node-article-comment-node-article" class="field field-node--comment-node-article field-formatter-comment-default field-name-comment-node-article field-type-comment field-label-hidden display-mode-threaded comment-bundle-comment-node-article comment-wrapper"> <a name="comments"></a><div class="comment-form-wrapper"> <h2 class="comment-form__title h3">Добавить комментарий</h2><drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=334&amp;2=comment_node_article&amp;3=comment_node_article" token="KG0goZTk5IvgfeXPQ_d544_UmcrsPaASq7JA0czbrGw"></drupal-render-placeholder></div></section> Mon, 17 Feb 2020 11:12:28 +0000 admin_romcom 334 at https://16rom.com Горячие клавиши терминала https://16rom.com/ru/blog/goryachie-klavishi-terminala <span property="schema:name" class="field field-name-title field-formatter-string field-type-string field-label-hidden">Горячие клавиши терминала</span> <div property="schema:text" class="clearfix text-formatted field field-node--body field-formatter-text-default field-name-body field-type-text-with-summary field-label-hidden has-single"><div class="field__items"><div property="schema:text" class="field__item"><p>Командная строкам может быть вполне мощным инструментом, но печатать длинные команды и пути к файлу быстро надоедает. В данной статье приведены основные горячие клавиши.</p> <p>Уверенные пользователи любят командную строку за ее возможности выполнять сложные задачи обхемом в несколько строк. Но для новичков, кто не знаком с горячими клавишами, набор длинных команд и путей может стать адским испытанием.</p> <p>Данные команды изначально подходят к *NIX совместимым терминалам, которые работают из коробки в таких ОС как Linux и OS X. Для использования их в Windows установите Cygwin.</p> <table cellpadding="4" cellspacing="0" width="643"><colgroup><col /><col /></colgroup><tbody><tr><td> <p>Up / Down</p> <p>Ctrl+p / Ctrl+n</p> </td> <td> <p>перемещает по списку введенных ранее команд.</p> </td> </tr><tr><td> <p>Left / Right</p> <p>Ctrl+b / Ctrl+f</p> </td> <td> <p>перемещает по одному символу влево/вправо.</p> </td> </tr><tr><td> <p>Ctrl+Left / Ctrl+Right</p> </td> <td> <p>перемещает между аргументами команды во время ввода.</p> </td> </tr><tr><td> <p>Delete</p> <p>Ctrl+d</p> </td> <td> <p>удалить символ вправо от курсора.</p> </td> </tr><tr><td> <p>Home и End</p> <p>Ctrl+a и Ctrl+e</p> </td> <td> <p>перемещает в начало и конец команды.</p> </td> </tr><tr><td> <p>Ctrl+u</p> </td> <td> <p>очистить веденную команду.</p> </td> </tr><tr><td> <p>Ctrl+k</p> </td> <td> <p>удалить текст от курсора до конца строки.</p> </td> </tr><tr><td> <p>Ctrl+w</p> </td> <td> <p>удалить слово до курсора</p> </td> </tr><tr><td> <p>Ctrl+r</p> </td> <td> <p>поиск по истории ранее введенных команд</p> </td> </tr><tr><td> <p>Ctrl+j</p> </td> <td> <p>закончить поиск на текущей строке.</p> </td> </tr><tr><td> <p>Ctrl+g</p> </td> <td> <p>сбросить поиск и восстановить начальную строку.</p> </td> </tr><tr><td> <p>Ctrl+y</p> </td> <td> <p>вставить последнюю удаленную командую</p> </td> </tr><tr><td> <p>Ctrl+_ (Ctrl + Shift + - )</p> </td> <td> <p>Undo</p> </td> </tr><tr><td> <p>Ctrl+xx</p> </td> <td> <p>перемещение между начально позицией и текущей</p> </td> </tr><tr><td> <p>Ctrl+l</p> </td> <td> <p>очистить терминал (аналог команды clear)</p> </td> </tr><tr><td> <p>Ctrl+c</p> </td> <td> <p>прервать операцию</p> </td> </tr><tr><td> <p>Tab</p> </td> <td> <p>автодоплнение ввода.</p> </td> </tr></tbody></table><p> Испльзование данных команд повысит вашу скорость работы в терминале. Но это не единственный способ ускорить ваше быстродействие – вы также можете создать свои алиасы на часто используемые команды. Об этом в следующей статье.</p> <p> </p> </div></div> </div> <span rel="schema:author" class="field field-name-uid field-formatter-author field-type-entity-reference field-label-hidden"><span lang="" about="/ru/userauth/1" typeof="schema:Person" property="schema:name" datatype="">Админ</span></span> <span property="schema:dateCreated" content="2020-02-12T10:51:26+00:00" class="field field-name-created field-formatter-timestamp field-type-created field-label-hidden">Wed, 02/12/2020 - 12:51</span> <div class="field field-node-field-tags field-entity-reference-type-taxonomy-term field-formatter-entity-reference-label field-name-field-tags field-type-entity-reference field-label-above"><h3 class="field__label">Теги</h3><div class="field__items"><div class="field__item field__item--linux"> <span class="field__item-wrapper"><a href="/ru/tags/linux" property="schema:about" hreflang="ru">linux</a></span> </div><div class="field__item field__item--shell"> <span class="field__item-wrapper"><a href="/ru/tags/shell" property="schema:about" hreflang="ru">shell</a></span> </div><div class="field__item field__item--bash"> <span class="field__item-wrapper"><a href="/ru/tags/bash" property="schema:about" hreflang="ru">bash</a></span> </div><div class="field__item field__item--terminal"> <span class="field__item-wrapper"><a href="/ru/tags/terminal" property="schema:about" hreflang="ru">terminal</a></span> </div></div> </div> <section id="node-article-comment-node-article" class="field field-node--comment-node-article field-formatter-comment-default field-name-comment-node-article field-type-comment field-label-hidden display-mode-threaded comment-bundle-comment-node-article comment-wrapper"> <a name="comments"></a><div class="comment-form-wrapper"> <h2 class="comment-form__title h3">Добавить комментарий</h2><drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=333&amp;2=comment_node_article&amp;3=comment_node_article" token="hY_cgJTTAPg5JGVq-bIpSpKs1xea2aIGJhbvjhObzPk"></drupal-render-placeholder></div></section> Wed, 12 Feb 2020 10:51:26 +0000 admin_romcom 333 at https://16rom.com Как создать и управлять виртуальным окружением Python https://16rom.com/ru/blog/kak-sozdat-i-upravlyat-virtualnym-okruzheniem-python <span property="schema:name" class="field field-name-title field-formatter-string field-type-string field-label-hidden">Как создать и управлять виртуальным окружением Python</span> <div property="schema:text" class="clearfix text-formatted field field-node--body field-formatter-text-default field-name-body field-type-text-with-summary field-label-hidden has-single"><div class="field__items"><div property="schema:text" class="field__item"><p><span style="font-size: 12px;">Часто можно увидеть как разработчики на Питоне устанавливают и обновляют пакеты из стандартных и не стандартных источников для разработки приложений. Причина может быть в использовании новой версии модуля или использование специфической версии для предотвращении регрессий.</span></p> <p>Эти требования и кейсы использования могут быть болезненными при управлении когда разные приложения требуют разные версии одних и тех же библиотек. К счастью, Python предоставляет решения для изоляция среды разработки использую виртуальные окружения.</p> <h2> Что такое виртуальное окружение Python (Virtual Environment)</h2> <p>Виртуальное окружение (ВО) Python это директория которая включает в себя инстлляцию Python вместе со стандартными библиотеками. Приложение требуеющее конкретную версию библиотеки может быть изолировано в виртуальном окружении без замусоривания ОС или других имплементаций Python. Каждое виртуальное окружение это отдельная песочница (sandbox), и вы можете создать их сколько сколкьо вам нужно.</p> <h3> Создание и управление виртуальным окружением</h3> <p>Для начала установите необходимые пакеты для Ubuntu:</p> <pre> $ sudo apt install python3-venv</pre><p><img alt="" src="https://16rom.com/sites/default/files/articles/selection_105.jpg" style="width: 800px; height: 514px;" /></p> <p>Про команду apt можете подробно почитать в предыдущей статье <a href="https://16rom.com/ru/blog/ispolzovanie-komandy-apt-v-linux">https://16rom.com/ru/blog/ispolzovanie-komandy-apt-v-linux</a>.</p> <p>Для устанвки в Debian убедитесь что у вас подключены основные репозитории в /<em>etc/apt/sources.list</em></p> <p>Для Debian 9:</p> <pre> deb http://deb.debian.org/debian/ stretch main deb-src http://deb.debian.org/debian/ stretch main</pre><p>Для Debian 10:</p> <pre> deb http://deb.debian.org/debian/ buster main deb-src http://deb.debian.org/debian/ buster main</pre><p>Теперь вы можете создать виртуальное окружение командой:</p> <pre> $ python3 -m venv myenv</pre><p>Данная команда создаст виртуальное окружение myenv в текущей папке. Вместо названия папки может указать полный путь к ней:</p> <pre> $ python3 -m venv /home/user/python/myenv</pre><p>Для активации используйте команду:</p> <pre> $ source myenv/bin/activate</pre><p>После активации в шеле будет показано текущее активное окружение. Запустив команду “import sys” “sys.path” внутри интерпритатора вы увидите что все работает верно. Питон будет искать пакеты в текущем окружении.</p> <p><img alt="" src="https://16rom.com/sites/default/files/articles/selection_106.jpg" style="width: 798px; height: 253px;" /></p> <p>Выключить виртуальное окружение:</p> <pre> $ deactivate</pre><p>Каждое ВО Python включает в себя файл настройки “pyvenv.cfg” с ключем “include-system-site-packages” выключенным по-умолчанию. Этот ключ указывает ВО использовать ли системные пакеты или нет. Если данным параметр включить Python будет искать пакеты в основной ОС, если не найдет их в ВО.</p> <p>Для удаление ВО достаточно удалить папку.</p> <p>Вы можете разместить ВО на флешке использую NTFS или EXT файловую систему. FAT32 неподходит, тк не поддерживает симлинки которые необходимы для работы ВО.</p> <h3> Использование PIP пакетного менеджера для установки пакетов внутри виртуального окружения</h3> <p>Внутри ВО вы можете использовать pip для установки, обновления и удаления пакетов.</p> <pre> $ pip install package_name</pre><p>Вместо package_name подставьте свое название пакета.</p> <p>Поиск пакетов по репозиторию можно сделать на сайте <a href="https://pypi.org/">https://pypi.org</a></p> <p>Удаление пакета:</p> <pre> $ pip uninstall package_name</pre><p>Посмотреть все версии пакета:</p> <pre> $ pip install package_name==</pre><p>Список всех установленных пакетов</p> <pre> $ pip list</pre><p>Сохранить список установленных пакетов внутри ВО:</p> <pre> $ pip freeze &gt; requirements.txt</pre><p>Вы можете использовать файл requirements.txt для пакетной установки модулей в новом ВО.</p> <pre> $ pip install -r requirements.txt</pre><h2> Использование Виртуального Окружения Python для не-Python приложений</h2> <p>Приложения написанные на других языках программирования могут быть закрыты в песочнице ВО Python до того момента как pip или любой другой пакетный менеджер будет предоствлять бинарники и пакеты для тех альтернативных Япов/фреймворков.</p> <p>Вот небольшой пример который показывает установку node.js в ВО Python:</p> <pre> $ python3 -m venv node_env $ source node_env/bin/activate $ pip install wheel $ pip install nodeenv $ nodeenv -p $ nodeenv --version $ node --version</pre><p><img alt="" src="https://16rom.com/sites/default/files/articles/selection_108.jpg" style="width: 808px; height: 519px;" /></p> <p>Поздравляю, вы создали изолированое окружение node.js. Вы можете создавать много ВО и пакеты установленные через пакетный менеджер npm будут доступны только в виртуальном окружении.</p> <p> </p> </div></div> </div> <span rel="schema:author" class="field field-name-uid field-formatter-author field-type-entity-reference field-label-hidden"><span lang="" about="/ru/userauth/1" typeof="schema:Person" property="schema:name" datatype="">Админ</span></span> <span property="schema:dateCreated" content="2020-02-06T13:51:44+00:00" class="field field-name-created field-formatter-timestamp field-type-created field-label-hidden">Thu, 02/06/2020 - 15:51</span> <div class="field field-node-field-tags field-entity-reference-type-taxonomy-term field-formatter-entity-reference-label field-name-field-tags field-type-entity-reference field-label-above"><h3 class="field__label">Теги</h3><div class="field__items"><div class="field__item field__item--python"> <span class="field__item-wrapper"><a href="/ru/tags/python" property="schema:about" hreflang="ru">python</a></span> </div><div class="field__item field__item--linux"> <span class="field__item-wrapper"><a href="/ru/tags/linux" property="schema:about" hreflang="ru">linux</a></span> </div><div class="field__item field__item--bash"> <span class="field__item-wrapper"><a href="/ru/tags/bash" property="schema:about" hreflang="ru">bash</a></span> </div></div> </div> <section id="node-article-comment-node-article--2" class="field field-node--comment-node-article field-formatter-comment-default field-name-comment-node-article field-type-comment field-label-hidden display-mode-threaded comment-bundle-comment-node-article comment-wrapper"> <a name="comments"></a><div class="comment-form-wrapper"> <h2 class="comment-form__title h3">Добавить комментарий</h2><drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=332&amp;2=comment_node_article&amp;3=comment_node_article" token="kxkfoNgnVIRyOj2D6yt8QyjGAul0wjSTLc1ARzG3iC8"></drupal-render-placeholder></div></section> Thu, 06 Feb 2020 13:51:44 +0000 admin_romcom 332 at https://16rom.com Android Studio: /dev/kvm device permission denied https://16rom.com/ru/blog/android-studio-devkvm-device-permission-denied <span property="schema:name" class="field field-name-title field-formatter-string field-type-string field-label-hidden">Android Studio: /dev/kvm device permission denied</span> <div property="schema:text" class="clearfix text-formatted field field-node--body field-formatter-text-default field-name-body field-type-text-with-summary field-label-hidden has-single"><div class="field__items"><div property="schema:text" class="field__item"><p align="left"><strong>/dev/kvm permission denied.</strong></p> <p align="left">После обновления до Ubuntu 18.04 вам нужно установить qemu-kvm</p> <pre align="left"> sudo apt install qemu-kvm</pre><p align="left"> </p> <p align="left">Проверить владельца /dev/kvm </p> <pre align="left"> ls -al /dev/kvm</pre><p align="left"> </p> <p align="left">Должно вернуть Пользователь root, группа kvm.<br /> Чтоб проверить какие пользователи состоят в группе kvm:</p> <pre align="left"> grep kvm /etc/group</pre><p align="left"> </p> <p align="left">Должно вернуть</p> <pre align="left"> kvm:x:some_number:</pre><p align="left">у меня на обновленной Ос ничего не стояло после последнего двоеточия, что означает отсутсвие пользователей в группе kvm.</p> <p align="left">Добавить вашего юзера к kvm группе:</p> <pre align="left"> sudo adduser $USER kvm</pre><p align="left">Проверить успешность добавления пользователя в группу можно командой:</p> <pre align="left"> grep kvm /etc/group.</pre><p align="left"> </p> <p align="left">Если после данных действий все еще выдает ошибку - попробуйте перелогиниться, чтоб разрешения пользователя обновились.</p> </div></div> </div> <span rel="schema:author" class="field field-name-uid field-formatter-author field-type-entity-reference field-label-hidden"><span lang="" about="/ru/userauth/1" typeof="schema:Person" property="schema:name" datatype="">Админ</span></span> <span property="schema:dateCreated" content="2020-02-05T11:12:16+00:00" class="field field-name-created field-formatter-timestamp field-type-created field-label-hidden">Wed, 02/05/2020 - 13:12</span> <div class="field field-node-field-tags field-entity-reference-type-taxonomy-term field-formatter-entity-reference-label field-name-field-tags field-type-entity-reference field-label-above"><h3 class="field__label">Теги</h3><div class="field__items"><div class="field__item field__item--android"> <span class="field__item-wrapper"><a href="/ru/tags/android" property="schema:about" hreflang="ru">android</a></span> </div><div class="field__item field__item--linux"> <span class="field__item-wrapper"><a href="/ru/tags/linux" property="schema:about" hreflang="ru">linux</a></span> </div></div> </div> <section id="node-article-comment-node-article--3" class="field field-node--comment-node-article field-formatter-comment-default field-name-comment-node-article field-type-comment field-label-hidden display-mode-threaded comment-bundle-comment-node-article comment-wrapper"> <a name="comments"></a><div class="comment-form-wrapper"> <h2 class="comment-form__title h3">Добавить комментарий</h2><drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=331&amp;2=comment_node_article&amp;3=comment_node_article" token="g1KjjxQm8Vo4K80dwCLGVBvdl1P14Qu3BaKmp9CqPvs"></drupal-render-placeholder></div></section> Wed, 05 Feb 2020 11:12:16 +0000 admin_romcom 331 at https://16rom.com https://16rom.com/ru/blog/android-studio-devkvm-device-permission-denied#comments Использование команды apt в Linux https://16rom.com/ru/blog/ispolzovanie-komandy-apt-v-linux <span property="schema:name" class="field field-name-title field-formatter-string field-type-string field-label-hidden">Использование команды apt в Linux</span> <div property="schema:text" class="clearfix text-formatted field field-node--body field-formatter-text-default field-name-body field-type-text-with-summary field-label-hidden has-single"><div class="field__items"><div property="schema:text" class="field__item"><p>Apt это утилита командной строки для установки, обновления, удаления и других операций по управлению deb пакетами в Ubuntu, Debian и дистрибутовов основаных на них. Она включает в себя наиболее используемые компанды из apt-get и apt-cache утилит с отличающимися опциям по-умолчанию.</p> <p>Apt был создан для интерактивного пользования.</p> <p>Большинство команд ктилиты apt должны быть запущено от юзеро с sudo привилегиями.</p> <h2> Обновление индекса пакетов</h2> <p>Индекса APT пакетов это обычная база данных, в которой есть записи доступных пакетов из репозиториев доступных в вашей ОС.</p> <p>Всегда обновляйте индекс пакетов перед установкой или обновлением.</p> <pre> sudo apt update</pre><p>Обновление пакетов</p> <p>Регулярное обновление своей ОС это один из главных принципов защищенной системы.</p> <pre> sudo apt upgrade</pre><p>Команда не обновит пакеты для которых нужно удалить ранее установоенные пакеты.</p> <p>Для обновление одного пакета:</p> <pre> sudo apt upgrade package_name</pre><h2> Полный апгрейд</h2> <p>Разница между upgrade и full-upgrade в том что последний удалит установленный пакет, если это требуется для обновления системы.</p> <pre> sudo apt full-upgrade</pre><h2> Установка пакетов</h2> <p>Установка одного пакета:</p> <pre> sudo apt install package_name</pre><p>Для установки списка пакетов используйте пробел как разделитель:</p> <pre> sudo apt install package1 package2</pre><p>Для установки локальнокго deb пакета:<br /> sudo apt install /path/to/file.deb</p> <h2> Удаление пакетов</h2> <p>Удаление одного пакета:</p> <pre> sudo apt remove package_name</pre><p>Удаление множества пакетов</p> <pre> sudo apt remove package1 package2</pre><p>Команда remove удалит (деинсталлирует) пакет, но может оставить некоторые файлы конфигурации. Если хотите удалить пакет включая все конфигурационные файлы используйте purge:</p> <pre> sudo apt purge package_name</pre><h2> Удалить неиспользуемые пакеты</h2> <p>При установке нового пакета, пакеты из его зависимостей будут также установленны. Но при удалении пакета, его зависимости останутся. Для удаления неиспользуемых пакетов используйте команду:</p> <pre> sudo apt autoremove</pre><h2> Список пакетов</h2> <p>Список доступных пакетов:</p> <pre> sudo apt list</pre><p>Вывод информации по интересующему пакету:</p> <pre> sudo apt list | grep package_name</pre><p>Вывести только установленные пакеты:</p> <pre> sudo apt list --installed</pre><p>Вывести список пакетов, которые можно обновить:</p> <pre> sudo apt list --upgradeable</pre><h2> Поиск пакетов</h2> <p>Данная команда выведет список пакетов удовлетворяющих ваш запрос:</p> <pre> sudo apt search package_name</pre><h2> Информация о пакете</h2> <p>Информация о зависимостях пакета, размер установочного файла, исходники пакета и тд.</p> <pre> sudo apt show package_name</pre></div></div> </div> <span rel="schema:author" class="field field-name-uid field-formatter-author field-type-entity-reference field-label-hidden"><span lang="" about="/ru/userauth/1" typeof="schema:Person" property="schema:name" datatype="">Админ</span></span> <span property="schema:dateCreated" content="2020-02-03T15:49:40+00:00" class="field field-name-created field-formatter-timestamp field-type-created field-label-hidden">Mon, 02/03/2020 - 17:49</span> <div class="field field-node-field-tags field-entity-reference-type-taxonomy-term field-formatter-entity-reference-label field-name-field-tags field-type-entity-reference field-label-above"><h3 class="field__label">Теги</h3><div class="field__items"><div class="field__item field__item--linux"> <span class="field__item-wrapper"><a href="/ru/tags/linux" property="schema:about" hreflang="ru">linux</a></span> </div><div class="field__item field__item--apt"> <span class="field__item-wrapper"><a href="/ru/tags/apt" property="schema:about" hreflang="ru">apt</a></span> </div></div> </div> <section id="node-article-comment-node-article--4" class="field field-node--comment-node-article field-formatter-comment-default field-name-comment-node-article field-type-comment field-label-hidden display-mode-threaded comment-bundle-comment-node-article comment-wrapper"> <a name="comments"></a><div class="comment-form-wrapper"> <h2 class="comment-form__title h3">Добавить комментарий</h2><drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=330&amp;2=comment_node_article&amp;3=comment_node_article" token="hweUV2vhZxGRkfeWIr-c8VWf--9Zpi_yShIfg2AGTb4"></drupal-render-placeholder></div></section> Mon, 03 Feb 2020 15:49:40 +0000 admin_romcom 330 at https://16rom.com https://16rom.com/ru/blog/ispolzovanie-komandy-apt-v-linux#comments Couldn't find foreign struct converter for 'cairo.Context' https://16rom.com/ru/blog/couldnt-find-foreign-struct-converter-cairocontext <span property="schema:name" class="field field-name-title field-formatter-string field-type-string field-label-hidden">Couldn&#039;t find foreign struct converter for &#039;cairo.Context&#039;</span> <div property="schema:text" class="clearfix text-formatted field field-node--body field-formatter-text-default field-name-body field-type-text-with-summary field-label-hidden has-single"><div class="field__items"><div property="schema:text" class="field__item"><div class="moz-text-html" lang="x-unicode" xml:lang="x-unicode"> <p>TypeError: Couldn't find foreign struct converter for 'cairo.Context'</p> <p>Данная ошибка выскочила в логах не помню какого приложения. Убрать ее очень просто: попробуйте установить нужные пакеты</p> <pre> sudo apt-get install python3-gi-cairo</pre><p>или</p> <pre> sudo apt-get install python-gobject-cairo</pre><p><a href="https://github.com/rbgirshick/py-faster-rcnn/issues/221">https://github.com/rbgirshick/py-faster-rcnn/issues/221</a></p> <p> </p> </div> <p> </p> </div></div> </div> <span rel="schema:author" class="field field-name-uid field-formatter-author field-type-entity-reference field-label-hidden"><span lang="" about="/ru/userauth/1" typeof="schema:Person" property="schema:name" datatype="">Админ</span></span> <span property="schema:dateCreated" content="2020-01-13T11:52:54+00:00" class="field field-name-created field-formatter-timestamp field-type-created field-label-hidden">Mon, 01/13/2020 - 13:52</span> <div class="field field-node-field-tags field-entity-reference-type-taxonomy-term field-formatter-entity-reference-label field-name-field-tags field-type-entity-reference field-label-above"><h3 class="field__label">Теги</h3><div class="field__items"><div class="field__item field__item--python"> <span class="field__item-wrapper"><a href="/ru/tags/python" property="schema:about" hreflang="ru">python</a></span> </div><div class="field__item field__item--linux"> <span class="field__item-wrapper"><a href="/ru/tags/linux" property="schema:about" hreflang="ru">linux</a></span> </div></div> </div> <section id="node-article-comment-node-article--5" class="field field-node--comment-node-article field-formatter-comment-default field-name-comment-node-article field-type-comment field-label-hidden display-mode-threaded comment-bundle-comment-node-article comment-wrapper"> <a name="comments"></a><div class="comment-form-wrapper"> <h2 class="comment-form__title h3">Добавить комментарий</h2><drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=328&amp;2=comment_node_article&amp;3=comment_node_article" token="SoQ-v872rEm1hnE_VpgdAc97KjYBI_yB3x6diPewaR8"></drupal-render-placeholder></div></section> Mon, 13 Jan 2020 11:52:54 +0000 admin_romcom 328 at https://16rom.com https://16rom.com/ru/blog/couldnt-find-foreign-struct-converter-cairocontext#comments Установка i3lock скрин лока в Lubuntu 19 https://16rom.com/ru/blog/ustanovka-i3lock-skrin-loka-v-lubuntu-19 <span property="schema:name" class="field field-name-title field-formatter-string field-type-string field-label-hidden">Установка i3lock скрин лока в Lubuntu 19</span> <div property="schema:text" class="clearfix text-formatted field field-node--body field-formatter-text-default field-name-body field-type-text-with-summary field-label-hidden has-single"><div class="field__items"><div property="schema:text" class="field__item"><p>В последней версии lubuntu 19.04 дистрибутив перешел на DE LXQT. В принципе выглядит красиво, но в роли скринсейвера по прежнему стоит xscreensaver с ужасным окном ввода юзернейма и пароля. Я уже писал как можно темизировать данное окно - ссылка <a href="https://16rom.com/ru/blog/temizaciya-xsreensaver">https://16rom.com/ru/blog/temizaciya-xsreensaver</a> .</p> <p>Лучше сразу удалить его:</p> <pre> sudo apt-get purge xscreensaver</pre><p>В качестве lock screen мне понравился минималистичный i3lock. Основная фишка это отсутсвие полей для ввода юзернейма и пароля! <a href="https://i3wm.org/i3lock/">https://i3wm.org/i3lock/</a></p> <pre> sudo apt-get install i3lock</pre><p>Скринлок принимает ввод пользователя без возможности выбора языка. И это основная его проблема - если пароль введен латиницей, а в момент блокировки экрана стояла другая раскладка, тогда и пароль ввести будет невозможно!</p> <p>Для данной цели я написал небольшой скрипт в файл /home/user/screensaver.sh</p> <pre> #!/bin/bash xkb-switch -s us i3lock -t -i /home/user/Pictures/screensaver.png</pre><p>Понадобиться скомплировать программу для удобной смены раскладки, тк менять ее через xsetkbmap неудобно. Сбивается настройка локалей.</p> <p>Исходники можно скачать тут.</p> <pre> <a href="https://github.com/ierton/xkb-switch">https://github.com/ierton/xkb-switch</a></pre><p>Раскладки переключаю скриптом добавленным в ~/.bashrc</p> <pre> setxkbmap -option "grp:switch,grp:caps_toggle" -layout "us,ru,ua"</pre><p>Смену сочетания клавиш можно найти в меню:</p> <p>Menu -&gt; Preferences -&gt; LXQt settings -&gt; Shortcut Keys<br /> И на сочетание клавиш (Ctrl+Alt+L) прописал комманду по запуску скрипта из ранее созданого файла /home/user/screensaver.sh<br />  </p> </div></div> </div> <span rel="schema:author" class="field field-name-uid field-formatter-author field-type-entity-reference field-label-hidden"><span lang="" about="/ru/userauth/1" typeof="schema:Person" property="schema:name" datatype="">Админ</span></span> <span property="schema:dateCreated" content="2019-10-09T21:01:39+00:00" class="field field-name-created field-formatter-timestamp field-type-created field-label-hidden">Thu, 10/10/2019 - 00:01</span> <div class="field field-node-field-tags field-entity-reference-type-taxonomy-term field-formatter-entity-reference-label field-name-field-tags field-type-entity-reference field-label-above"><h3 class="field__label">Теги</h3><div class="field__items"><div class="field__item field__item--linux"> <span class="field__item-wrapper"><a href="/ru/tags/linux" property="schema:about" hreflang="ru">linux</a></span> </div></div> </div> <section id="node-article-comment-node-article--6" class="field field-node--comment-node-article field-formatter-comment-default field-name-comment-node-article field-type-comment field-label-hidden display-mode-threaded comment-bundle-comment-node-article comment-wrapper"> <a name="comments"></a><div class="comment-form-wrapper"> <h2 class="comment-form__title h3">Добавить комментарий</h2><drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=327&amp;2=comment_node_article&amp;3=comment_node_article" token="epNI_IZwqfMpsm108pgBVAs6-ezqKxFbeZJWtvXnk6o"></drupal-render-placeholder></div></section> Wed, 09 Oct 2019 21:01:39 +0000 admin_romcom 327 at https://16rom.com https://16rom.com/ru/blog/ustanovka-i3lock-skrin-loka-v-lubuntu-19#comments Шаринг файлов под линуксом (и не только) https://16rom.com/ru/blog/sharing-faylov-pod-linuksom-i-ne-tolko <span property="schema:name" class="field field-name-title field-formatter-string field-type-string field-label-hidden">Шаринг файлов под линуксом (и не только)</span> <div property="schema:text" class="clearfix text-formatted field field-node--body field-formatter-text-default field-name-body field-type-text-with-summary field-label-hidden has-single"><div class="field__items"><div property="schema:text" class="field__item"><p>Шаринг файлов под линуксом (и не только)<br /> Казалось бы простая задача которой уже много лет, технология должна быть отточена до мелочей. но нет. Самба тормозит, проблемы между ОС и тд.</p> <p>Но есть один простой способ - использовать nodejs http-server!<br /> Если вы разработчик, то nodejs у вас уже должен стоять, а вместе с ним npm.</p> <pre> npm install -g http-server</pre><p>Заходите в папку которую хотиту расшарить и вводите:</p> <pre> http-server -o</pre><p>Если у вас стоит пакет npx, тогда можно без первой команды писать</p> <pre> npx http-server -o</pre><p>И по адресу http://192.168.1.YOUR_IP:8080 будет доступна страница с содержими папки по сети.</p> <p><img alt="" src="https://16rom.com/sites/default/files/articles/linux_share.jpg" style="width: 786px; height: 283px;" /></p> </div></div> </div> <span rel="schema:author" class="field field-name-uid field-formatter-author field-type-entity-reference field-label-hidden"><span lang="" about="/ru/userauth/1" typeof="schema:Person" property="schema:name" datatype="">Админ</span></span> <span property="schema:dateCreated" content="2019-09-23T22:18:15+00:00" class="field field-name-created field-formatter-timestamp field-type-created field-label-hidden">Tue, 09/24/2019 - 01:18</span> <div class="field field-node-field-tags field-entity-reference-type-taxonomy-term field-formatter-entity-reference-label field-name-field-tags field-type-entity-reference field-label-above"><h3 class="field__label">Теги</h3><div class="field__items"><div class="field__item field__item--linux"> <span class="field__item-wrapper"><a href="/ru/tags/linux" property="schema:about" hreflang="ru">linux</a></span> </div></div> </div> <section id="node-article-comment-node-article--7" class="field field-node--comment-node-article field-formatter-comment-default field-name-comment-node-article field-type-comment field-label-hidden display-mode-threaded comment-bundle-comment-node-article comment-wrapper"> <a name="comments"></a><div class="comment-form-wrapper"> <h2 class="comment-form__title h3">Добавить комментарий</h2><drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=326&amp;2=comment_node_article&amp;3=comment_node_article" token="P4xe4eENiPebASdAZ1HgYdjMLNJsEwAGpvTV1aeW9YU"></drupal-render-placeholder></div></section> Mon, 23 Sep 2019 22:18:15 +0000 admin_romcom 326 at https://16rom.com https://16rom.com/ru/blog/sharing-faylov-pod-linuksom-i-ne-tolko#comments