---
category: ru
hastr: true
layout: project
title: Netctl GUI
short: netctl-gui
tags: archlinux, c++, qt, сеть, kde, netctl, система, dbus, библиотека
hasgui: true
hasdocs: true
developers:
    - Evgeniy Alekseev
    - nosada (перевод на японский)
license: GPLv3
links:
    - Страница на <a href="http://linux.softpedia.com/get/System/Networking/Netctl-GUI-103383.shtml" title="Softpedia">Softpedia</a>
    - Страница на <a href="http://kde-apps.org/content/show.php?content=164490" title="kde-apps">kde-apps.org</a>
    - <a href="https://aur.archlinux.org/pkgbase/netctl-gui/" title="AUR">Пакет в AUR</a>
    - <a href="/devs/netctl-gui-dbus-api.html" title="DBus API">Описание DBus API</a>
    - <a href="/devs/netctl-gui-security-notes.html" title="Security">Примечания о безопасности</a>
---
<!-- info block -->
<h2><a href="#info" class="anchor" id="info"><span class="octicon octicon-link"></span></a>Информация</h2>
<p>Графическая оболочка для <code>netctl</code> (набор скриптов для поднятия сети в Arch'е). Написана на <code>CPP</code> с использованием библиотеки <code>Qt4</code>. На текущим момент умеет работать с профилями, в том числе создавать новые, а также умеет подключаться к WiFi. Также предоставляет библиотеку для взаимодействия с netctl и виджет и DataEngine для KDE.</p>

<p><b>ВНИМАНИЕ:</b> <a href="https://github.com/arcan1s/netctl-gui/issues/3" title="Тикет">НУЖНЫ ПЕРЕВОДЧИКИ!</a></p>

{% highlight bash %}
$ netctl-gui --help
Использование:
netctl-gui [ options ]
Опции:
 Открыть окно:
       --detached        - запустить открепленным от консоли
       --maximized       - запустить развернутым
       --minimized       - запустить свернутым в трей
       --about           - показать окно "О программе"
       --netctl-auto     - показать окно netctl-auto
       --settings        - показать окно настроек
 Функции:
   -e, --essid <arg>     - выбрать данный ESSID
   -o, --open <arg>      - открыть данный профиль
   -s, --select <arg>    - выбрать данный профиль
 Дополнительные флаги:
   -c, --config <arg>    - прочитать настройки из данного файла
   -d, --debug           - показать отладочную информацию
       --default         - запустить со стандартными настройками
       --set-opts <arg>  - установить опции для данного запуска, разделенные запятыми
   -t, --tab <arg>       - открыть вкладку с этим номером
 Показать сообщения:
   -v, --version         - показать версию и выход
   -i, --info            - показать информацию о сборке и выход
   -h, --help            - показать справку и выход
{% endhighlight %}

{% highlight bash %}
$ netctlgui-helper --help
Использование:
netctlgui-helper [ options ]
Опции:
   -c, --config <arg>    - прочитать настройки из данного файла
   -d, --debug           - показать отладочную информацию
       --nodaemon        - не запускать как демон
       --replace         - принудительно заменить существующую сессию
       --restore         - принудительно восстановить существующую сессию
       --system          - не считывать пользовательские настройки, только системные
 Показать сообщения:
   -v, --version         - показать версию и выход
   -i, --info            - показать информацию о сборке и выход
   -h, --help            - показать справку и выход
{% endhighlight %}

<h3><a href="#devel" class="anchor" id="devel"><span class="octicon octicon-link"></span></a>Разработчики</h3>
<ul>
  {% for devel in page.developers %}
    <li>{{ devel }}</li>
  {% endfor %}
</ul>

<h3><a href="#license" class="anchor" id="license"><span class="octicon octicon-link"></span></a>Лицензия</h3>
<ul>
  <li>{{ page.license }}</li>
</ul>

<h3><a href="#changelog" class="anchor" id="changelog"><span class="octicon octicon-link"></span></a>Changelog</h3>
<p><a href="https://github.com/arcan1s/netctl-gui/blob/master/CHANGELOG" title="GitHub">CHANGELOG</a></p>
<!-- end of info block -->

<!-- install block -->
<h2><a href="#install" class="anchor" id="install"><span class="octicon octicon-link"></span></a>Установка</h2>

<h3><a href="#instruction" class="anchor" id="instruction"><span class="octicon octicon-link"></span></a>Инструкция</h3>
<ul>
  <li>Скачайте <a href="https://github.com/arcan1s/netctl-gui/releases" title="GitHub">архив</a> с актуальной версией исходных файлов.</li>
  <li>Извлеките из него файлы и установите приложение. Если Вы хотите установить в <code>/</code>, Вы должны запустить как root:

{% highlight bash %}
cd /путь/к/распакованному/архиву
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../
make
sudo make install
{% endhighlight %}

Доступные флаги cmake:
  <ul>
    <li>компоненты:
    <ul>
      <li><code>-DBUILD_DATAENGINE:BOOL=0</code> - не собирать DataEngine</li>
      <li><code>-DBUILD_GUI:BOOL=0</code> - не собирать GUI</li>
      <li><code>-DBUILD_HELPER:BOOL=0</code> - не собирать хелпер</li>
      <li><code>-DBUILD_LIBRARY:BOOL=0</code> - не собирать библиотеку</li>
      <li><code>-DBUILD_PLASMOID:BOOL=0</code> - не собирать плазмоид</li>
    </ul></li>
    <li>дополнительные компоненты:
    <ul>
      <li><code>-DBUILD_DOCS:BOOL=0</code> - не собирать документацию разработчика</li>
      <li><code>-DBUILD_TEST:BOOL=1</code> - собирать авто тесты для библиотеки и хелпера</li>
    </ul></li>
    <li>свойства проекта:
    <ul>
      <li><code>-DDBUS_SYSTEMCONF_PATH=/etc/dbus-1/system.d/</code> - путь к системный файлам конфигурации DBus</li>
      <li><code>-DSYSTEMD_SERVICE_PATH=lib/systemd/system</code> - путь к сервису systemd</li>
      <li><code>-DUSE_CAPABILITIES:BOOL=0</code> - не использовать setcap, чтобы дать необходимые привилегии хелперу</li>
      <li><code>-DUSE_QT5:BOOL=0</code> - использовать Qt4 вместо Qt5</li>
    </ul></li>
  </ul></li>
</ul>

<h3><a href="#dependencies" class="anchor" id="dependencies"><span class="octicon octicon-link"></span></a>Зависимости</h3>
<p>Все было протестировано на последних версиях зависимостей.</p>
<ul>
  <li>netctl</li>
  <li>qt5-base <i>(если используется Qt5)</i> <b>или</b> qt4 <i>(если используется Qt4)</i></li>
  <li>automoc4 <i>(make)</i></li>
  <li>cmake <i>(make)</i></li>
  <li>qt5-tools <i>(make, если используется Qt5)</i></li>
  <li>kdebase-workspace <i>(опционально, виджет)</i></li>
  <li>sudo <i>(опционально, поддержка sudo)</i></li>
  <li>wpa_supplicant <i>(опционально, поддержка WiFi)</i></li>
</ul>
<!-- end of install block -->

<!-- howto block -->
<h2><a href="#howto" class="anchor" id="howto"><span class="octicon octicon-link"></span></a>Использование</h2>
<p>Просто запустите приложение <code>netctl-gui</code>. Если потребуется (и если Вы используете KDE), можете добавить виджет <code>netctl</code>, предоставляемый приложением.</p>
<!-- end of howto block -->

<!-- config block -->
<h2><a href="#config" class="anchor" id="config"><span class="octicon octicon-link"></span></a>Настройка</h2>
<p>Рекомендуется использовать графический интерфейс для настройки. Конфигурационные файлы:</p>
<ul>
  <li><code>$HOME/.config/netctl-gui.conf</code> - пользовательские настройки GUI/хелпера</li>
  <li><code>/etc/netctl-gui.conf</code> - системные настройки хелпера</li>
  <li><code>$KDEHOME/share/config/netctl.conf</code> - пользовательские настройки DataEngine</li>
  <li><code>$KDESYSTEM/share/config/netctl.conf</code> - системные настройки DataEngine</li>
</ul>

<p>Для настройки виджета и DataEngine рекомендуется использовать графический интерфейс. Все настройки графического интерфейса хранятся в <code>$HOME/.config/netctl-gui.conf</code>. Для редактирования настоятельно рекомендуется использовать графический интерфейс.</p>
<!-- end of config block -->

<!-- gui block -->
<h2><a href="#gui" class="anchor" id="gui"><span class="octicon octicon-link"></span></a>Графический интерфейс</h2>
<p>Графический интерфейс предоставляется приложением <code>netctl-gui</code>.</p>

<h3><a name="screenshots" class="anchor" href="#screenshots"><span class="octicon octicon-link"></span></a>Скриншоты</h3>
<div class="thumbnails">
  {% assign scrdesc = "DataEngine" %}
  {% assign scrname = "netctl-gui_dataengine" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Виджет" %}
  {% assign scrname = "netctl-gui_plasmoid" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Настройки виджета" %}
  {% assign scrname = "netctl-gui_plasmoid_conf_01" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Настройки виджета" %}
  {% assign scrname = "netctl-gui_plasmoid_conf_02" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Настройки виджета" %}
  {% assign scrname = "netctl-gui_plasmoid_conf_03" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Главное окно" %}
  {% assign scrname = "netctl-gui_main" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Окно создания профиля" %}
  {% assign scrname = "netctl-gui_profile" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "WiFi меню" %}
  {% assign scrname = "netctl-gui_wifi" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Окно 'О программе'" %}
  {% assign scrname = "netctl-gui_about" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Окно netctl-auto" %}
  {% assign scrname = "netctl-gui_netctl-auto" %}
  {% include prj_scr.html %}
  {% assign scrdesc = "Окно настроек" %}
  {% assign scrname = "netctl-gui_settings" %}
  {% include prj_scr.html %}
</div>
<!-- end of gui block -->
