Linux cmst что это

Обновлено: 06.07.2024

Artix can either be installed through the console or the GUI installer. The GUI install is quite straightforward, we'll focus on the console installation procedure here. The installation images are confirmed to work on both BIOS and UEFI systems.

Set the keyboard layout

To check the available layout types:

Then type the name of the layout without the extension. For example, to set the Spanish(Spain) layout, type:

This only sets the selected keyboard layout in the current tty and only until reboot. To make the setting permanent, you have to edit /etc/conf.d/keymaps in the installed system. It's also useful to set up /etc/vconsole.conf - it may look like this:

Partition your disk (BIOS)

Partition your hard drive ( /dev/sda will be used in this guide) with fdisk or cfdisk, the partition numbers and order are at your discretion:

If you want to install side-by-side with other operating systems, you must make some space on the disk by resizing the existing partitions. You may use gparted for this, however detailed instructions are out of the scope of this guide. See the ArchWiki

NOTE: The BIOS boot partition is necessary on UEFI systems with a GPT-partitioned disk. EFI system partition has to be created and mounted at /mnt/boot and the suggested size is around 512 MiB.

Format partitions

Next, format the new partitions, we will use ext4 in this example:

The -L switch assigns labels to the partitions, which helps referring to them later through /dev/disk/by-label without having to remember their numbers

If you are doing a UEFI installation, the boot partition is not optional and needs to be formatted as fat32.

Mount Partitions

Now, activate your swap space and mount your partitions:

Connect to the internet

A working internet connection is required and assumed. A wired connection is setup automatically, if found. Wireless ones must be configured by the user. Verify your connection before you proceed. If you want connect through a wireless interface you should use wpa_supplicant and dhcpcd to set it up.

Install base system

Use basestrap to install the base and optionally the base-devel package groups and your preferred init (currently available: openrc , runit , s6 , 66 , and dinit ):

If you encounter errors, you can use the -i flag of basestrap ('interactive'). Example:

and you will be prompted to choose the respective elogind.

Install a kernel

Artix provides three kernels: linux , linux-lts and linux-zen , but you can use any other kernel you like ('-ck, -pf' etc). It is very recommended to install linux-firmware too. You can try not installing it, but some devices such as network cards may not work.

Use fstabgen to generate /etc/fstab , use -U for UUIDs as source identifiers and -L for partition labels:

Check the resulting fstab for errors before rebooting. Now, you can chroot into your new Artix system with:

Configure the base system

Set system clock

Set the time zone:

Run hwclock to generate /etc/adjtime:

Localization

Generate your desired locales running:

To set the locale systemwide, create or edit /etc/locale.conf (which is sourced by /etc/profile ) or /etc/bash/bashrc.d/artix.bashrc or /etc/bash/bashrc.d/local.bashrc ; user-specific changes may be made to their respective

/.bashrc , for example:

Boot Loader

First, install grub and os-prober (for detecting other installed operating systems):

NOTE: On GPT-partitioned drives, refer to ArchWiki:Grub article.

Alternatively, you can use some other bootloaders or even the own kernel using EFISTUB. Bear in mind that we won't cover them here since most are not supported officially and the Arch Wiki already provides enough documentation. See the ArchWiki:Bootloader article if you want to view the alternatives. If you have an Intel or AMD CPU, enable microcode updates in addition.

Add user(s)

First, set the root passwd:

Second, create a regular user and password:

Network configuration

Create the hostname file:

Now add matching entries to hosts:

If the system has a permanent IP address, it should be used instead of 127.0.1.1.

If you use OpenRC you should add your hostname to /etc/conf.d/hostname too:

And install your prefered DHCP client

If you want to use a wireless connection, be sure to also install wpa_supplicant.

Note: In Runit, s6, and dinit, enabling a service by default at this step requires a different command than the normal one because the init systems rely on a /run (a tmpfs) to be created. That creation occurs when you actually boot into the new system. You can choose to skip these steps and and enable the services after a reboot if you wish using the commands listed on the Runit, s6, and dinit pages. Just be sure you have an internet daemon and its respective service script installed first.

  • Note for 66 users:
    • A default tree needs to be created first:

    In this example, we'll use connman:

    OpenRC

    Install connman and optionally a front-end:

    Runit

    Install connman and optionally a front-end:

    Install connman and optionally a front-end:

    install connman and optionally a front-end:

    dinit

    install connman and optionally a front-end:

    Alternatively, if you will use openrc , Gentoo's netifrc modules can be used, these are located in /etc/init.d/ and work on a script-per-interface basis.

    Now the parent script /etc/init.d/net.lo should be symlinked to create additional scripts for each network interface and then loaded into an openrc runlevel.

    Reboot the system

    Now, you can reboot and enter into your new installation:

    Post installation configuration

    Once shutdown is complete, remove your installation media. If all went well, you should boot into your new system. Log in as your root to complete the post-installation configuration. See Archlinux's general recommendations for system management directions and post-installation tutorials.

    To get a graphical environment you need to install the xorg group:

    Read the Archlinux's Xorg wiki, for information on how Xorg chooses the best available video driver and which one is optimal for your hardware and how properly set Xorg server.

    Desktop Environment

    Install your favorite desktop environment, for example KDE, GNOME, MATE, XFCE4 or LXQt:

    Display Login Manager

    Each DM has its own openrc package, which brings openrc's DM setup in line with runit and s6 counterparts. Currently we support XDM, LightDM, GDM, SDDM and LXDM.

    Be sure to add the service to start automatically at boot time.

    Or you can use .xinitrc to launch your DE manually; edit (or create)

    /.xinitrc and add exec mate-session. Notice: mate-session and quite a few other packages from the Arch repositories are compiled against systemd even if they don't actually use it, at least not as PID1; to satisfy the library link you may install elogind and its services files elogind-openrc, elogind-runit, elogind-s6, or elogind-suite66.

    66 configuration/setup

    66 uses it's own configuration to set things such as hostname, if you are using BTRFS and other options. First, if you have not done so yet, a boot tree must be created:

    Next is to create initial boot config

    To change 66's config run:

    Change options from !no to !yes if your system will use BTRFS, ZFS, etc Then to enable the changes:

    Node Version Manager

    Table of Contents

    nvm allows you to quickly install and use different versions of node via the command line.

    Example:

    nvm is a version manager for node.js, designed to be installed per-user, and invoked per-shell. nvm works on any POSIX-compliant shell (sh, dash, ksh, zsh, bash), in particular on these platforms: unix, macOS, and windows WSL.

    Installing and Updating

    Install & Update Script

    To install or update nvm, you should run the install script. To do that, you may either download and run the script manually, or use the following cURL or Wget command:

    Running either of the above commands downloads a script and runs it. The script clones the nvm repository to

    /.nvm , and attempts to add the source lines from the snippet below to the correct profile file (

    If the environment variable $XDG_CONFIG_HOME is present, it will place the nvm files there.

    You can add --no-use to the end of the above script (. nvm.sh --no-use ) to postpone using nvm until you manually use it.

    You can customize the install source, directory, profile, and version using the NVM_SOURCE , NVM_DIR , PROFILE , and NODE_VERSION variables. Eg: curl . | NVM_DIR="path/to/nvm" . Ensure that the NVM_DIR does not contain a trailing slash.

    The installer can use git , curl , or wget to download nvm , whichever is available.

    Troubleshooting on Linux

    On Linux, after running the install script, if you get nvm: command not found or see no feedback from your terminal after you type command -v nvm , simply close your current terminal, open a new terminal, and try verifying again. Alternatively, you can run the following commands for the different shells on the command line:

    These should pick up the nvm command.

    Troubleshooting on macOS

    If you get nvm: command not found after running the install script, one of the following might be the reason:

    Since macOS 10.15, the default shell is zsh and nvm will look for .zshrc to update, none is installed by default. Create one with touch

    /.zshrc and run the install script again.

    If you use bash, the previous default shell, your system may not have a .bash_profile file where the command is set up. Create one with touch

    /.bash_profile and run the install script again. Then, run source

    /.bash_profile to pick up the nvm command.

    You have previously used bash , but you have zsh installed. You need to manually add these lines to

    You might need to restart your terminal instance or run .

    /.nvm/nvm.sh . Restarting your terminal/opening a new tab/window, or running the source command will load the command and the new configuration.

    If the above didn't help, you might need to restart your terminal instance. Try opening a new tab/window in your terminal and retry.

    If the above doesn't fix the problem, you may try the following:

    If you use bash, it may be that your .bash_profile (or

    /.profile ) does not source your

    /.bashrc properly. You could fix this by adding source

    /<your_profile_file> to it or follow the next step below.

    Try adding the snippet from the install section, that finds the correct nvm directory and loads nvm, to your usual profile (

    For more information about this issue and possible workarounds, please refer here

    You can use a task:

    To verify that nvm has been installed, do:

    which should output nvm if the installation was successful. Please note that which nvm will not work, since nvm is a sourced shell function, not an executable binary.

    Note: On Linux, after running the install script, if you get nvm: command not found or see no feedback from your terminal after you type command -v nvm , simply close your current terminal, open a new terminal, and try verifying again.

    If you're running a system without prepackaged binary available, which means you're going to install nodejs or io.js from its source code, you need to make sure your system has a C++ compiler. For OS X, Xcode will work, for Debian/Ubuntu based GNU/Linux, the build-essential and libssl-dev packages work.

    Note: nvm also support Windows in some cases. It should work through WSL (Windows Subsystem for Linux) depending on the version of WSL. It should also work with GitBash (MSYS) or Cygwin. Otherwise, for Windows, a few alternatives exist, which are neither supported nor developed by us:

      allows you to use utilities written for Bash in fish shell only works with version numbers (not aliases) but doesn't significantly slow your shell startup plugin for Oh My Fish, which makes nvm and its completions available in fish shell - fisherman-based version manager for fish - Wrapper around nvm for fish, delays sourcing nvm until it's actually used.

    Note: We still have some problems with FreeBSD, because there is no official pre-built binary for FreeBSD, and building from source may need patches; see the issue ticket:

    Note: On OS X, if you do not have Xcode installed and you do not wish to download the

    4.3GB file, you can install the Command Line Tools . You can check out this blog post on how to just that:

    Note: On OS X, if you have/had a "system" node installed and want to install modules globally, keep in mind that:

    • When using nvm you do not need sudo to globally install a module with npm -g , so instead of doing sudo npm install -g grunt , do instead npm install -g grunt
    • If you have an

    Homebrew installation is not supported. If you have issues with homebrew-installed nvm , please brew uninstall it, and install it using the instructions below, before filing an issue.

    Note: If you're using zsh you can easily install nvm as a zsh plugin. Install zsh-nvm and run nvm upgrade to upgrade.

    If you have git installed (requires git v1.7.10+):

    1. clone this repo in the root of your user profile

    Now add these lines to your

    /.zshrc file to have it automatically sourced upon login: (you may have to add to more than one of the above files)

    For a fully manual install, execute the following lines to first clone the nvm repository into $HOME/.nvm , and then load nvm :

    Now add these lines to your

    /.zshrc file to have it automatically sourced upon login: (you may have to add to more than one of the above files)

    For manual upgrade with git (requires git v1.7.10+):

    1. change to the $NVM_DIR
    2. pull down the latest changes
    3. check out the latest version
    4. activate the new version

    To download, compile, and install the latest release of node, do this:

    To install a specific version of node:

    The first version installed becomes the default. New shells will start with the default version of node (e.g., nvm alias default ).

    You can list available versions using ls-remote :

    And then in any new shell just use the installed version:

    Or you can just run it:

    Or, you can run any arbitrary command in a subshell with the desired version of node:

    You can also get the path to the executable to where it was installed:

    In place of a version pointer like "14.7" or "16.3" or "12.22.1", you can use the following special default aliases with nvm install , nvm use , nvm run , nvm exec , nvm which , etc:

    • node : this installs the latest version of node
    • iojs : this installs the latest version of io.js
    • stable : this alias is deprecated, and only truly applies to node v0.12 and earlier. Currently, this is an alias for node .
    • unstable : this alias points to node v0.11 - the last "unstable" node release, since post-1.0, all node versions are stable. (in SemVer, versions communicate breakage, not stability).

    Node has a schedule for long-term support (LTS) You can reference LTS versions in aliases and .nvmrc files with the notation lts/* for the latest LTS, and lts/argon for LTS releases from the "argon" line, for example. In addition, the following commands support LTS arguments:

    • nvm install --lts / nvm install --lts=argon / nvm install 'lts/*' / nvm install lts/argon
    • nvm uninstall --lts / nvm uninstall --lts=argon / nvm uninstall 'lts/*' / nvm uninstall lts/argon
    • nvm use --lts / nvm use --lts=argon / nvm use 'lts/*' / nvm use lts/argon
    • nvm exec --lts / nvm exec --lts=argon / nvm exec 'lts/*' / nvm exec lts/argon
    • nvm run --lts / nvm run --lts=argon / nvm run 'lts/*' / nvm run lts/argon
    • nvm ls-remote --lts / nvm ls-remote --lts=argon nvm ls-remote 'lts/*' / nvm ls-remote lts/argon
    • nvm version-remote --lts / nvm version-remote --lts=argon / nvm version-remote 'lts/*' / nvm version-remote lts/argon

    To get the latest LTS version of node and migrate your existing installed packages, use

    Migrating Global Packages While Installing

    If you want to install a new version of Node.js and migrate npm packages from a previous version:

    This will first use "nvm version node" to identify the current version you're migrating packages from. Then it resolves the new version to install from the remote server and installs it. Lastly, it runs "nvm reinstall-packages" to reinstall the npm packages from your prior version of Node to the new one.

    You can also install and migrate npm packages from specific versions of Node like this:

    Note that reinstalling packages explicitly does not update the npm version — this is to ensure that npm isn't accidentally upgraded to a broken version for the new node version.

    To update npm at the same time add the --latest-npm flag, like this:

    or, you can at any time run the following command to get the latest supported npm version on the current node version:

    If you've already gotten an error to the effect of "npm does not support Node.js", you'll need to (1) revert to a previous node version ( nvm ls & nvm use <your latest _working_ version from the ls> , (2) delete the newly created node version ( nvm uninstall <your _broken_ version of node from the ls> ), then (3) rerun your nvm install with the --latest-npm flag.

    Default Global Packages From File While Installing

    If you have a list of default packages you want installed every time you install a new version, we support that too -- just add the package names, one per line, to the file $NVM_DIR/default-packages . You can add anything npm would accept as a package argument on the command line.

    If you want to install io.js:

    If you want to install a new version of io.js and migrate npm packages from a previous version:

    The same guidelines mentioned for migrating npm packages in node are applicable to io.js.

    System Version of Node

    If you want to use the system-installed version of node, you can use the special default alias "system":

    If you want to see what versions are installed:

    If you want to see what versions are available to install:

    Setting Custom Colors

    Persisting custom colors

    If you want the custom colors to persist after terminating the shell, export the NVM_COLORS variable in your shell profile. For example, if you want to use cyan, magenta, green, bold red and bold yellow, add the following line:

    Suppressing colorized output

    nvm help (or -h or --help) , nvm ls , nvm ls-remote and nvm alias usually produce colorized output. You can disable colors with the --no-colors option (or by setting the environment variable TERM=dumb ):

    To restore your PATH, you can deactivate it:

    Set default node version

    To set a default Node version to be used in any new shell, use the alias 'default':

    Use a mirror of node binaries

    To use a mirror of the node binaries, set $NVM_NODEJS_ORG_MIRROR :

    To use a mirror of the io.js binaries, set $NVM_IOJS_ORG_MIRROR :

    nvm use will not, by default, create a "current" symlink. Set $NVM_SYMLINK_CURRENT to "true" to enable this behavior, which is sometimes useful for IDEs. Note that using nvm in multiple shell tabs with this environment variable enabled can cause race conditions.

    You can create a .nvmrc file containing a node version number (or any other string that nvm understands; see nvm --help for details) in the project root directory (or any parent directory). Afterwards, nvm use , nvm install , nvm exec , nvm run , and nvm which will use the version specified in the .nvmrc file if no version is supplied on the command line.

    For example, to make nvm default to the latest 5.9 release, the latest LTS version, or the latest node version for the current directory:

    [NB these examples assume a POSIX-compliant shell version of echo . If you use a Windows cmd development environment, eg the .nvmrc file is used to configure a remote Linux deployment, then keep in mind the " s will be copied leading to an invalid file. Remove them.]

    Then when you run nvm:

    nvm use et. al. will traverse directory structure upwards from the current directory looking for the .nvmrc file. In other words, running nvm use et. al. in any subdirectory of a directory with an .nvmrc will result in that .nvmrc being utilized.

    The contents of a .nvmrc file must be the <version> (as described by nvm --help ) followed by a newline. No trailing spaces are allowed, and the trailing newline is required.

    Deeper Shell Integration

    You can use avn to deeply integrate into your shell and automatically invoke nvm when changing directories. avn is not supported by the nvm maintainers. Please report issues to the avn team.

    If you prefer a lighter-weight solution, the recipes below have been contributed by nvm users. They are not supported by the nvm maintainers. We are, however, accepting pull requests for more examples.

    Automatically call nvm use

    Put the following at the end of your $HOME/.bashrc :

    This alias would search 'up' from your current directory in order to detect a .nvmrc file. If it finds it, it will switch to that version; if not, it will use the default version.

    Calling nvm use automatically in a directory with a .nvmrc file

    Put this into your $HOME/.zshrc to call nvm use automatically whenever you enter a directory that contains an .nvmrc file with a string telling nvm which node to use :

    Calling nvm use automatically in a directory with a .nvmrc file

    This requires that you have bass installed.

    Tests are written in Urchin. Install Urchin (and other dependencies) like so:

    There are slow tests and fast tests. The slow tests do things like install node and check that the right versions are used. The fast tests fake this to test things like aliases and uninstalling. From the root of the nvm git repository, run the fast tests like this:

    Run the slow tests like this:

    Run all of the tests like this:

    Nota bene: Avoid running nvm while the tests are running.

    nvm exposes the following environment variables:

    • NVM_DIR - nvm's installation directory.
    • NVM_BIN - where node, npm, and global packages for the active version of node are installed.
    • NVM_INC - node's include file directory (useful for building C/C++ addons for node).
    • NVM_CD_FLAGS - used to maintain compatibility with zsh.
    • NVM_RC_VERSION - version from .nvmrc file if being used.

    Additionally, nvm modifies PATH , and, if present, MANPATH and NODE_PATH when changing versions.

    To activate, you need to source bash_completion :

    Put the above sourcing line just below the sourcing line for nvm in your profile ( .bashrc , .bash_profile ).

    Graphical user interface to control the connman daemon. The connman daemon must be started as you normally would, this program just interfaces with that daemon. You can see what technologies and services connman has found, and for wifi services an agent is registered to assist in obtaining the information from you necessary to logon to the wifi service.

    Другие пакеты, относящиеся к cmst

    • зависимости
    • рекомендации
    • предложения
    • enhances

    Загрузка cmst

    Загрузить для всех доступных архитектур
    Архитектура Версия Размер пакета В установленном виде Файлы
    alpha (неофициальный перенос) 2019.01.13-1+b1 2 154,8 Кб3 508,0 Кб [список файлов]
    amd64 2019.01.13-1+b1 2 170,7 Кб3 111,0 Кб [список файлов]
    arm64 2019.01.13-1+b1 2 129,1 Кб3 059,0 Кб [список файлов]
    armel 2019.01.13-1 2 109,9 Кб2 932,0 Кб [список файлов]
    armhf 2019.01.13-1 2 121,6 Кб2 776,0 Кб [список файлов]
    hppa (неофициальный перенос) 2019.01.13-1+b1 2 162,5 Кб3 324,0 Кб [список файлов]
    i386 2019.01.13-1+b1 2 197,5 Кб3 213,0 Кб [список файлов]
    ia64 (неофициальный перенос) 2019.01.13-1+b1 2 174,9 Кб4 237,0 Кб [список файлов]
    m68k (неофициальный перенос) 2019.01.13-1+b1 2 179,9 Кб3 285,0 Кб [список файлов]
    mips64el 2019.01.13-1+b1 2 105,5 Кб3 376,0 Кб [список файлов]
    mipsel 2019.01.13-1+b1 2 110,0 Кб3 407,0 Кб [список файлов]
    ppc64 (неофициальный перенос) 2019.01.13-1+b1 2 146,6 Кб3 431,0 Кб [список файлов]
    ppc64el 2019.01.13-1+b1 2 151,9 Кб3 367,0 Кб [список файлов]
    riscv64 (неофициальный перенос) 2019.01.13-1+b1 2 154,3 Кб2 977,0 Кб [список файлов]
    s390x 2019.01.13-1+b1 2 131,2 Кб3 167,0 Кб [список файлов]
    sh4 (неофициальный перенос) 2019.01.13-1+b1 2 227,4 Кб3 092,0 Кб [список файлов]
    sparc64 (неофициальный перенос) 2019.01.13-1+b1 2 106,8 Кб3 197,0 Кб [список файлов]
    x32 (неофициальный перенос) 2019.01.13-1+b1 2 173,8 Кб3 065,0 Кб [список файлов]

    Эта страница также доступна на следующих языках (Как установить язык по умолчанию):

    Авторские права © 1997 - 2021 SPI Inc.; См. условия лицензии. Debian это торговый знак компании SPI Inc. Об этом сайте.

    Install the connman package. wpa_supplicant , bluez , and openvpn are optional dependencies required for Wi-Fi, Bluetooth, and VPN functionality respectively.

    Before enabling connman.service , ensure any existing network configuration is disabled.

    Front-ends

    Usage

    This article or section needs expansion.

    Reason: Only Wired and Wi-Fi plugins are described. (Discuss in Talk:ConnMan)

    ConnMan comes with the connmanctl command-line interface, see connmanctl(1) . If you do not provide any commands connmanctl starts as an interactive shell.

    ConnMan automatically handles wired connections.

    Enabling and disabling wifi

    To check if wifi is enabled you can run connmanctl technologies and check for the line that says Powered: True/False . To power the wifi on you can run connmanctl enable wifi or if you need to disable it you can run connmanctl disable wifi . Other ways to enable wifi could include using the Fn keys on the laptop to turn it on or running ip link set <interface> up .

    Connecting to an open access point

    To scan the network connmanctl accepts simple names called technologies. To scan for nearby Wi-Fi networks:

    To list the available networks found after a scan run (example output):

    To connect to an open network, use the second field beginning with wifi_ :

    Tip: Network names can be tab-completed.

    You should now be connected to the network. Check using connmanctl state or ip addr .

    Connecting to a protected access point

    For protected access points you will need to provide some information to the ConnMan daemon, at the very least a password or a passphrase.

    The commands in this section show how to run connmanctl in interactive mode, it is required for running the agent command. To start interactive mode simply type:

    You then proceed almost as above, first scan for any Wi-Fi technologies:

    To list services:

    Now you need to register the agent to handle user requests. The command is:

    You now need to connect to one of the protected services. To do this easily, just use tab completion for the wifi_ service. If you were connecting to OtherNET in the example above you would type:

    The agent will then ask you to provide any information the daemon needs to complete the connection. The information requested will vary depending on the type of network you are connecting to. The agent will also print additional data about the information it needs as shown in the example below.

    Provide the information requested, in this example the passphrase, and then type:

    If the information you provided is correct you should now be connected to the protected access point.

    Using iwd instead of wpa_supplicant

    ConnMan can use iwd to connect to wireless networks. The package which is available in community already supports using iwd for connecting to wireless networks. As connman will start wpa_supplicant when it finds it, it is recommended to uninstall wpa_supplicant .

    Currently the -i -option of iwd seems to cause that the WiFi-interface gets hidden from connman .

    Create the following two service files which should cause connman to use iwd to connect to wireless networks, regardless if wpa_supplicant is installed.

    Then enable/start the connman_iwd service.

    Advantage of using iwd instead of wpa_supplicant is, that the ping times seem to be much more consistent and the connection seems to be more reliable.

    Settings

    Settings and profiles are automatically created for networks the user connects to often. They contain fields for the passphrase, essid and other information. Profile settings are stored in directories under /var/lib/connman/ by their service name. To view all network profiles run this command from root shell:

    Note: VPN settings can be found in /var/lib/connman-vpn/ .

    Technologies

    Various hardware interfaces are referred to as Technologies by ConnMan.

    To list available technologies run:

    To get just the types by their name one can use this one liner:

    Note: The field Type = tech_name provides the technology type used with connmanctl commands

    To interact with them one must refer to the technology by type. Technologies can be toggled on/off with:

    For example to toggle off wifi:

    Warning: connman grabs rfkill events. It is most likely impossible to use rfkill or bluetoothctl to (un)block devices, yet hardware keys may still work.[2] Always use connmanctl enable|disable

    Tips and tricks

    Avoid changing the hostname

    By default, ConnMan changes the transient hostname (see hostnamectl(1) ) on a per network basis. This can create problems with X authority: If ConnMan changes your hostname to something else than the one used to generate the xauth magic cookie, then it will become impossible to create new windows. Symptoms are error messages like No protocol specified and Can't open display: :0.0 . Manually resetting the host name fixes this, but a permanent solution is to prevent ConnMan from changing your host name in the first place. This can be accomplished by adding the following to /etc/connman/main.conf :

    Make sure to restart the connman.service after changing this file.

    For testing purposes it is recommended to watch the systemd journal and plug the network cable a few times to see the action.

    Prefer ethernet to wireless

    By default ConnMan does not prefer ethernet over wireless, which can lead to it deciding to stick with a slow wireless network even when ethernet is available. You can tell connman to prefer ethernet adding the following to /etc/connman/main.conf :

    Exclusive connection

    ConnMan allows you to be connected to both ethernet and wireless at the same time. This can be useful as it allows programs that established a connection over wifi to stay connected even after you connect to ethernet. But some people prefer to have only a single unambiguous connection active at a time. That behavior can be activated by adding the following to /etc/connman/main.conf :

    Connecting to eduroam (802.1X)

    WPA2 Enterprise networks such as eduroam require a separate configuration file before connecting to the network. For example, create /var/lib/connman/eduroam.config :

    Restart wpa_supplicant.service and connman.service to connect to the new network.

    • Options are case-sensitive, e.g. EAP = ttls instead of EAP = TTLS .[3]
    • Consult the institution hosting the eduroam network for various settings such as username, password, EAP , Phase2output , and needed certificates.

    Avoiding conflicts with local DNS server

    If you are running a local DNS server, it will likely have problems binding to port 53 (TCP and/or UDP) after installing Connman. This is because Connman includes its own DNS proxy which also tries to bind to those ports. If you see log messages from BIND or dnsmasq like

    this could be the problem. To verify which application is listening on the ports, you can execute ss -tulpn as root.

    To fix this connmand can be started with the options -r or --nodnsproxy by overriding the systemd service file. Create the folder /etc/systemd/system/connman.service.d/ and add the file disable_dns_proxy.conf :

    If you want to know the DNS servers received from DHCP while keeping a custom /etc/resolv.conf , then append RuntimeDirectory=connman to the same file. Now connman will write them to /var/run/connman/resolv.conf instead.

    Make sure to reload the systemd daemon and restart the connman.service , and your DNS proxy, after adding this file.

    Blacklist interfaces

    If something like Docker is creating virtual interfaces Connman may attempt to connect to one of these instead of your physical adapter if the connection drops. A simple way of avoiding this is to blacklist the interfaces you do not want to use. Connman will by default blacklist interfaces starting with vmnet , vboxnet , virbr and ifb , so those need to be included in the new blacklist as well.

    If it does not already exist, create /etc/connman/main.conf :

    Troubleshooting

    Error /net/connman/technology/wifi: Not supported

    Currently, connman does not support scanning for WiFi networks with iwd , at the moment this functionality is available with wpa_supplicant only (see [4]). In order to have Wifi Scanning support from within connman, install wpa_supplicant and then restart connman.service after you stop iwd.service .

    Error /net/connman/technology/wifi: No carrier

    You have enabled your wifi with:

    If wireless scanning leads to above error, this may be due to an unresolved bug.[5] If it does not resolve even though wireless preconditions are met, try again after disabling competing network managers and rebooting.

    This may also simply be caused by the wireless interface being blocked by rfkill, which can occur after restarting wpa_supplicant. Use rfkill list to check.

    "Not registered", or "Method "Connect" with signature . doesn't exist"

    When issuing commands, you may see errors like the following:

    From a connmanctl prompt:

    These errors are produced because the agent is not running. Start the agent from a connmanctl prompt with agent on , and try again.

    Error Failed to set hostname/domainname

    connman can failed to set hostname or domainname due to lack of CAP_SYS_ADMIN .

    You will need to edit connman.service (and other like connman-vpn.service , etc . ) to modify the CapabilityBoundingSet line to add CAP_SYS_ADMIN .

    Unknown route on connection

    A log entry for an unknown route appears each time a connect is done. For example:

    This setting will cause that the default device will not switch to ONLINE, but stay in READY state. connman.conf(5) However, the connection will still be functional.

    The connection itself is also functional (unless behind a captive portal) if the check is blocked by a firewall rule:

    File /proc/net/pnp doesn't exist

    If you see this in your error log it is caused by bug in connman [7] and can be ignored. Bug Report

    Читайте также: