arcanis.me/projects/_posts/2014-01-30-netctl-gui.md
2016-02-02 00:55:13 +07:00

8.2 KiB

permalink hastr layout title short tags hasgui hasdocs developers license links
projects/netctl-gui true project Netctl GUI netctl-gui archlinux, c++, qt, network, kde, netctl, system, dbus, library true true
Evgeniy Alekseev
nosada (Japanese translation)
GPLv3
Page on <a href="//linux.softpedia.com/get/System/Networking/Netctl-GUI-103383.shtml" title="Softpedia">Softpedia</a>
Page on <a href="//kde-apps.org/content/show.php?content=164490" title="kde-apps">kde-apps.org</a>
<a href="//aur.archlinux.org/pkgbase/netctl-gui/" title="AUR">AUR package</a>
<a href="/devs/netctl-gui-dbus-api.html" title="DBus API">DBus API reference</a>
<a href="/devs/netctl-gui-security-notes.html" title="Security">Security notes</a>

Graphical interface for netctl (several scripts for work with network connection in Archlinux). It is written on C++ using Qt library. Now it may work with profiles and may create new profiles. Also it may create a connection to WiFi. Moreover, it provides a Qt library for interaction with netctl and widget and DataEngine for KDE4/KF5.

NOTE: LOOKING FOR TRANSLATORS!

$ netctl-gui --help
Usage:
netctl-gui [ options ]
Options:
 Open window:
       --detached        - start detached from console
       --maximized       - start maximized
       --minimized       - start minimized to tray
       --about           - show about window
       --netctl-auto     - show netctl-auto window
       --settings        - show settings window
 Functions:
   -e, --essid <arg>     - select this ESSID
   -o, --open <arg>      - open this profile
   -s, --select <arg>    - select this profile
 Additional flags:
   -c, --config <arg>    - read configuration from this file
   -d, --debug           - print debug information
       --default         - start with default settings
       --set-opts <arg>  - set options for this run, comma separated
   -t, --tab <arg>       - open a tab with this number
 Show messages:
   -v, --version         - show version and exit
   -i, --info            - show build information and exit
   -h, --help            - show this help and exit
$ netctlgui-helper --help
Usage:
netctlgui-helper [ options ]
Options:
   -c, --config <arg>    - read configuration from this file
   -d, --debug           - print debug information
       --nodaemon        - do not start as daemon
       --replace         - force replace the existing session
       --restore         - force restore the existing session
       --system          - do not read user configuration, system-wide only
 Show messages:
   -v, --version         - show version and exit
   -i, --info            - show build information and exit
   -h, --help            - show this help and exit

Developers and contributors

{% for devel in page.developers %}

  • {{ devel }}{% endfor %}

License

  • {{ page.license }}

Changelog

CHANGELOG

Installation

Instruction

  • Download an archive with latest version of source files.

  • Extract it and install the application. If you want install it into /, you should run as root following commands:

    cd /path/to/extracted/archive
    mkdir build && cd build
    cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../
    make
    sudo make install
    

    Available cmake flags are:

    • components:
      • -DBUILD_DATAENGINE:BOOL=0 - do not build DataEngine
      • -DBUILD_GUI:BOOL=0 - do not build GUI
      • -DBUILD_HELPER:BOOL=0 - do not build helper daemon
      • -DBUILD_LIBRARY:BOOL=0 - do not build library
      • -DBUILD_PLASMOID:BOOL=0 - do not build Plasmoid
    • additional components:
      • -DBUILD_DOCS:BOOL=0 - do not build developer documentation
      • -DBUILD_TEST:BOOL=1 - build auto tests for the library and the helper
    • project properties:
      • -DDBUS_SYSTEMCONF_PATH=/etc/dbus-1/system.d/ - path to DBus system configuration files
      • -DSYSTEMD_SERVICE_PATH=lib/systemd/system - path to systemd services
      • -DUSE_CAPABILITIES:BOOL=0 - do not use setcap to get privileges to the helper
      • -DBUILD_KDE4:BOOL=1 - build plasmoid under KDE4 instead of KF5
      • -DUSE_QT5:BOOL=0 - use Qt4 instead of Qt5 for GUI

Dependencies

I want note that all were tested on latest version of dependencies.

  • netctl
  • qt5-base (if Qt5 is used) or qt4 (if Qt4 is used)
  • automoc4 (make)
  • cmake (make)
  • qt5-tools (make, if Qt5 is used)
  • kdebase-workspace (optional, KDE4 widget)
  • plasma-frameworks (optional, KF5 widget)
  • sudo (optional, sudo support)
  • wpa_supplicant (optional, WiFi support)

How to use

Just run application netctl-gui. If it is needed (and if you use KDE), you may add widget netctl, which provides by the application.

Configuration

It is recommended to use graphical interface for configuration. Configuration files are:

  • UI and helper
    • $HOME/.config/netctl-gui.conf - GUI/helper user configuration
    • /etc/netctl-gui.conf - helper system-wide configuration
  • DataEngine (KDE4 version)
    • $KDEHOME/share/config/plasma-dataengine-netctl.conf - DataEngine user configuration
    • $KDESYSTEM/share/config/plasma-dataengine-netctl.conf - DataEngine system-wide configuration
  • DataEngine (KF5 version)
    • $HOME/.config/plasma-dataengine-netctl.conf - DataEngine user configuration
    • /etc/xdg/plasma-dataengine-netctl.conf - DataEngine system-wide configuration

Graphical user interface

Graphical interface provides by netctl-gui application.

Screenshots

{% assign scrdesc = "DataEngine" %} {% assign scrname = "netctl-gui_dataengine" %} {% include prj_scr.html %} {% assign scrdesc = "Widget" %} {% assign scrname = "netctl-gui_plasmoid" %} {% include prj_scr.html %} {% assign scrdesc = "Widget settings window" %} {% assign scrname = "netctl-gui_plasmoid_conf_01" %} {% include prj_scr.html %} {% assign scrdesc = "Widget settings window" %} {% assign scrname = "netctl-gui_plasmoid_conf_02" %} {% include prj_scr.html %} {% assign scrdesc = "Widget settings window" %} {% assign scrname = "netctl-gui_plasmoid_conf_03" %} {% include prj_scr.html %} {% assign scrdesc = "Main window" %} {% assign scrname = "netctl-gui_main" %} {% include prj_scr.html %} {% assign scrdesc = "Profile window" %} {% assign scrname = "netctl-gui_profile" %} {% include prj_scr.html %} {% assign scrdesc = "WiFi window" %} {% assign scrname = "netctl-gui_wifi" %} {% include prj_scr.html %} {% assign scrdesc = "About window" %} {% assign scrname = "netctl-gui_about" %} {% include prj_scr.html %} {% assign scrdesc = "netctl-auto window" %} {% assign scrname = "netctl-gui_netctl-auto" %} {% include prj_scr.html %} {% assign scrdesc = "Settings window" %} {% assign scrname = "netctl-gui_settings" %} {% include prj_scr.html %}