https://wiki.archlinux.org/api.php?action=feedcontributions&user=JD91mZM2&feedformat=atomArchWiki - User contributions [en]2024-03-28T14:44:28ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=GNOME/Keyring&diff=510274GNOME/Keyring2018-02-09T17:27:20Z<p>JD91mZM2: LightDM also needs it to be named "login"</p>
<hr />
<div>[[Category:GNOME]]<br />
[[ja:GNOME Keyring]]<br />
[https://wiki.gnome.org/Projects/GnomeKeyring GNOME Keyring] is "a collection of components in GNOME that store secrets, passwords, keys, certificates and make them available to applications."<br />
<br />
== Installation ==<br />
<br />
When using GNOME, {{Pkg|gnome-keyring}} is installed automatically as a part of the {{grp|gnome}} group. Otherwise [[install]] the {{Pkg|gnome-keyring}} package. Install {{Pkg|libsecret}} to allow applications to use your keyrings. {{Pkg|libgnome-keyring}} is deprecated, however, some applications may require it.<br />
<br />
Extra utilities related to GNOME keyring include:<br />
* {{App|secret-tool|Access the GNOME keyring (and any other service implementing the [http://standards.freedesktop.org/secret-service/ DBus Secret Service API]) from the command line.|https://wiki.gnome.org/Projects/Libsecret|{{Pkg|libsecret}}}}<br />
* {{App|gnome-keyring-query|Provides a simple command-line tool for querying passwords from the password store of the GNOME Keyring. (uses the deprecated {{Pkg|libgnome-keyring}})|http://www.gentoo-wiki.info/HOWTO_Use_gnome-keyring_to_store_SSH_passphrases|{{AUR|gnome-keyring-query}}}}<br />
* {{App|gkeyring|Query passwords from the command line. (uses the deprecated {{Pkg|libgnome-keyring}})|https://github.com/kparal/gkeyring|{{AUR|gkeyring}}, {{AUR|gkeyring-git}}}}<br />
<br />
== Manage using GUI ==<br />
<br />
You can manage the contents of GNOME Keyring using Seahorse. [[Install]] it with the package {{Pkg|seahorse}}.<br />
<br />
It is possible to leave the GNOME keyring password blank or change it. In seahorse, in the "View" drop-down menu, select "By Keyring". On the Passwords tab, right click on "Passwords: login" and pick "Change password." Enter the old password and leave empty the new password. You will be warned about using unencrypted storage; continue by pushing "Use Unsafe Storage."<br />
<br />
== Using the keyring outside GNOME ==<br />
<br />
=== Without a display manager ===<br />
<br />
==== Automatic login ====<br />
<br />
If you are using automatic login, then you can disable the keyring manager by setting a blank password on the login keyring.<br />
{{Note| The passwords are stored unencrypted in this case.}}<br />
<br />
==== Console login ====<br />
<br />
When using console-based login, the keyring daemon can be started by either [[PAM]] or [[xinitrc]]. PAM can also unlock the keyring automatically at login.<br />
<br />
===== PAM method =====<br />
<br />
Start the gnome-keyring-daemon from {{ic|/etc/pam.d/login}}:<br />
<br />
Add {{ic|-auth optional pam_gnome_keyring.so}} at the end of the {{ic|auth}} section and {{ic|-session optional pam_gnome_keyring.so auto_start}} at the end of the {{ic|session}} section.<br />
<br />
{{hc|/etc/pam.d/login|<br />
#%PAM-1.0<br />
<br />
auth required pam_securetty.so<br />
auth requisite pam_nologin.so<br />
auth include system-local-login<br />
'''-auth optional pam_gnome_keyring.so'''<br />
account include system-local-login<br />
session include system-local-login<br />
'''-session optional pam_gnome_keyring.so auto_start'''}}<br />
<br />
For [[SDDM]], edit instead the configuration file {{ic|/etc/pam.d/sddm}}.<br />
<br />
Next, for [[GDM]], add {{ic|-password optional pam_gnome_keyring.so}} to the end of {{ic|/etc/pam.d/passwd}}.<br />
{{hc|/etc/pam.d/passwd|2=<br />
#%PAM-1.0<br />
<br />
#password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3<br />
#password required pam_unix.so sha512 shadow use_authtok<br />
password required pam_unix.so sha512 shadow nullok<br />
'''-password optional pam_gnome_keyring.so'''}}<br />
<br />
{{Note|<br />
* To use automatic unlocking, the same password for the user account and the keyring have to be set.<br />
* You will still need the code in {{ic|~/.xinitrc}} below in order to export the environment variables required.}}<br />
<br />
===== xinitrc method =====<br />
<br />
Start the gnome-keyring-daemon from [[xinitrc]]:<br />
<br />
{{hc|~/.xinitrc|<nowiki><br />
eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)<br />
export SSH_AUTH_SOCK<br />
</nowiki>}}<br />
<br />
See [[Xfce#SSH agents]] for use in Xfce.<br />
<br />
If you use [[I3]] and ssh is not showing the password prompt, giving the following error<br />
<br />
sign_and_send_pubkey: signing failed: agent refused operation<br />
Permission denied (publickey).<br />
<br />
you need to add the DISPLAY environment variable to dbus-daemon in your .xinitrc, like this:<br />
<br />
{{hc|~/.xinitrc|<nowiki><br />
dbus-update-activation-environment --systemd DISPLAY<br />
eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)<br />
export SSH_AUTH_SOCK<br />
<br />
...<br />
exec i3<br />
</nowiki>}}<br />
<br />
=== With a display manager ===<br />
<br />
When using a display manager, the keyring works out of the box for most cases. The following display managers automatically unlock the keyring once you log in:<br />
* [[GDM]]<br />
* [[LightDM]]<br />
* [[LXDM]]<br />
* [[SDDM]]<br />
<br />
For GDM and LightDM, note the keyring [https://wiki.gnome.org/Projects/GnomeKeyring/Pam must be] named ''login'' to be automatically unlocked.<br />
<br />
To enable the keyring for applications run through the terminal, such as SSH, add the following to your {{ic|~/.bash_profile}}, {{ic|~/.zshenv}}, or similar:<br />
<br />
{{hc|~/.bash_profile|<nowiki><br />
if [ -n "$DESKTOP_SESSION" ];then<br />
eval $(gnome-keyring-daemon --start)<br />
export SSH_AUTH_SOCK<br />
fi</nowiki>}}<br />
<br />
== SSH keys ==<br />
<br />
To add your SSH key:<br />
<br />
$ ssh-add ~/.ssh/id_rsa<br />
Enter passphrase for /home/mith/.ssh/id_rsa:<br />
<br />
To list automatically loaded keys:<br />
<br />
$ ssh-add -L<br />
<br />
To disable all keys;<br />
<br />
$ ssh-add -D<br />
<br />
Now when you connect to a server, the key will be found and a dialog will popup asking you for the passphrase. It has an option to automatically unlock the key when you log in. If you check this, you will not need to enter your passphrase again!<br />
<br />
Alternatively, to permanently save the a passphrase in the keyring, use seahorse-ssh-askpass from package {{pkg|seahorse}}:<br />
<br />
/usr/lib/seahorse/seahorse-ssh-askpass my_key<br />
<br />
{{Note|You have to have the corresponding {{ic|.pub}} file in the same directory as the private key ({{ic|~/.ssh/id_rsa.pub}} in the example). Also, make sure that the public key is the file name of the private key plus {{ic|.pub}} (for example, {{ic|my_key.pub}}).}}<br />
=== Start SSH and Secrets components of keyring daemon ===<br />
<br />
If you are starting Gnome Keyring with a display manager or the Pam method described above and you are NOT using Gnome, Unity or Mate as your desktop you may find that the SSH and Secrets components are not being started automatically.<br />
You can fix this by copying the desktop files gnome-keyring-ssh.desktop and gnome-keyring-secrets.desktop from /etc/xdg/autostart/ to ~/.config/autostart/ and deleting the OnlyShowIn line.<br />
<br />
$ cp /etc/xdg/autostart/{gnome-keyring-secrets.desktop,gnome-keyring-ssh.desktop} ~/.config/autostart/<br />
$ sed -i '/^OnlyShowIn.*$/d' ~/.config/autostart/gnome-keyring-secrets.desktop<br />
$ sed -i '/^OnlyShowIn.*$/d' ~/.config/autostart/gnome-keyring-ssh.desktop<br />
<br />
=== Disable keyring daemon components ===<br />
<br />
If you wish to run an alternative SSH agent (e.g. [[SSH keys#ssh-agent|ssh-agent]] or [[GnuPG#gpg-agent|gpg-agent]], you need to disable the {{ic|ssh}} component of GNOME Keyring.<br />
To do so in an account-local way, copy {{ic|/etc/xdg/autostart/gnome-keyring-ssh.desktop}} to {{ic|~/.config/autostart}} and then append the line {{ic|1=Hidden=true}} to the copied file. Then log out.<br />
<br />
{{Note|In case you use [[GNOME]] 3.24 or older on [[Wayland]], gnome-shell will overwrite {{ic|SSH_AUTH_SOCK}} to point to gnome-keyring regardless if it is running or not. To prevent this, you need to set the environment variable GSM_SKIP_SSH_AGENT_WORKAROUND before gnome-shell is started. One way to do this is to add the line {{ic|1=GSM_SKIP_SSH_AGENT_WORKAROUND DEFAULT=1}} to {{ic|~/.pam_environment}}.}}<br />
<br />
== Tips and tricks ==<br />
<br />
=== Integration with applications ===<br />
<br />
* [[Firefox#KDE.2FGNOME_integration|Firefox]]<br />
<br />
=== Flushing passphrases ===<br />
<br />
gnome-keyring-daemon -r -d<br />
<br />
This command starts gnome-keyring-daemon, shutting down previously running instances.<br />
<br />
=== Git integration ===<br />
<br />
The GNOME keyring is useful in conjuction with [[Git]] when you are pushing over HTTPS.<br />
<br />
Install the {{Pkg|libsecret}} package. <br />
<br />
Set Git up to use the helper:<br />
$ git config --global credential.helper /usr/lib/git-core/git-credential-libsecret<br />
<br />
Next time you do a ''git push'', you are asked to unlock your keyring, if not unlocked already.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Passwords are not remembered ===<br />
<br />
If you get a password prompt every time you login, and you find that passwords are not saved, you might need to create/set a default keyring.<br />
<br />
Ensure that the {{pkg|seahorse}} package is installed, open it ("Passwords and Keys" in system settings) and select ''View'' > ''By Keyring'' <br />
If there is no keyring in the left column (it will be marked with a lock icon), go to ''File'' > ''New'' > ''Password Keyring'' and give it a name. You will be asked to enter a password. If you do not give the keyring a password it will be unlocked automatically, even when using autologin, but passwords will not be stored securely. Finally, right-click on the keyring you just created and select "Set as default".<br />
<br />
== Known issues ==<br />
<br />
=== Cannot handle ECDSA and Ed25519 keys ===<br />
<br />
As of January 2018, GNOME Keyring doesn't handle ECDSA[https://bugzilla.gnome.org/show_bug.cgi?id=641082] nor Ed25519[https://bugzilla.gnome.org/show_bug.cgi?id=723274] keys. You can turn to other [[SSH_keys#SSH_agents|SSH agents]] if you need support for those.</div>JD91mZM2https://wiki.archlinux.org/index.php?title=Talk:Private_Internet_Access/AUR&diff=508607Talk:Private Internet Access/AUR2018-01-27T07:22:23Z<p>JD91mZM2: Added a comment</p>
<hr />
<div>I found the AUR package broken. I got PIA working by installing networkmanager-openvpn (may require a reboot) and importing the saved profiles manually from PIA's [https://www.privateinternetaccess.com/openvpn/openvpn.zip configuration zip]. After importing, I made the following changes in NetworkManager: <br />
* obviously needed my username and password; also used the ca.crt from the configuration zip file PIA offers. This is all in one place under Network Connections → VPN → ''Your Regional Profile'' → VPN. Fill in the details you need under ''Authentication''. Think, from this point, it already worked using the default Blowfish cipher. <br />
* ['''Optional but probably recommended''' AES-128 encryption] In the same window, click on Advanced. Under General, I used all the default settings, except I changed my gateway port to 1196. This is only necessary…<br />
* ['''Optional but probably recommended''' ''continued''] …if you want to use AES-128 encryption. Still in the Advanced Settings window, selection 'Security' and change your cipher to AES-128-CBC. <br />
I also keep IPv6 disabled. Not sure this is comprehensive, but I'd love feedback to know if there is anything else I should do. As of now, I haven't really configured my firewall. Otherwise, hope this helps someone. [[User:Bolwerk|Bolwerk]] ([[User talk:Bolwerk|talk]]) 16:08, 12 April 2016 (UTC)<br />
<br />
:How was it broken? If you have the AUR package installed, remember to run `pia -a` after you configure any settings in `/etc/private-internet-access/pia.conf`and login information in `/etc/private-internet-access/login.conf`. I do not normally use Network Manager but I maybe have to install it and take a look at it if the above doesn't work. However, I do need to fix when upgrading that it runs `pia -a` for you.<br />
:[[User:Flamusdiu|Flamusdiu]] ([[User talk:Flamusdiu|talk]]) 23:31, 12 April 2016 (UTC)<br />
<br />
::Hmm, well, when I ran pia -a I got<br />
$ sudo pia -a<br />
Traceback (most recent call last):<br />
File "/usr/bin/pia", line 9, in <module><br />
load_entry_point('pia==2.5', 'console_scripts', 'pia')()<br />
File "/usr/lib/python3.5/site-packages/pia/command_line.py", line 23, in main<br />
pia.run.run()<br />
File "/usr/lib/python3.5/site-packages/pia/run.py", line 58, in run<br />
[globals()[k]() for k, v in props.commandline.__dict__.items() if<br />
File "/usr/lib/python3.5/site-packages/pia/run.py", line 59, in <listcomp><br />
not k == 'hosts' and getattr(props.commandline, k, None)]<br />
File "/usr/lib/python3.5/site-packages/pia/run.py", line 108, in auto_configure<br />
app.config(*getattr(openvpn, config))<br />
File "/usr/lib/python3.5/site-packages/pia/applications/appstrategy.py", line 76, in config<br />
self.app.config(config_id, filename)<br />
TypeError: 'Config' object is not callable<br />
::What goes into pia.conf? I don't see any configuration information about it on the [[Private_Internet_Access_VPN|page]]. Maybe I'm missing something? <br />
::Thank you for the response and let me know if there is anything else you need. I sort of suck with Python. I hope you don't mind that I formatted your response's indentation a little to help the flow for anyone else reading this. [[User:Bolwerk|Bolwerk]] ([[User talk:Bolwerk|talk]]) 14:47, 13 April 2016 (UTC)<br />
<br />
:::Ha! Well, I guess I need to fix that error case. It goes into `/etc/private-internet-access`. There should be an example in there. I will update python-pia to account for a missing config. Also, I will probably need to generate a 'basic' config to put there. Well, this has been fun. Thanks for finding this out! [[User:Flamusdiu|Flamusdiu]] ([[User talk:Flamusdiu|talk]]) 01:26, 14 April 2016 (UTC)<br />
<br />
::::I added an issue about it here https://github.com/flamusdiu/python-pia/issues/4 [[User:Flamusdiu|Flamusdiu]] ([[User talk:Flamusdiu|talk]]) 01:40, 14 April 2016 (UTC)<br />
<br />
:::Bolwerk, can you do `git clone https://aur.archlinux.org/private-internet-access-vpn.git` and change "git+https://github.com/flamusdiu/python-pia.git#tag=v${pkgver}" to "git+https://github.com/flamusdiu/python-pia.git#branch=dev"; then build and test it? You can post here or on the Github page linked above. [[User:Flamusdiu|Flamusdiu]] ([[User talk:Flamusdiu|talk]]) 20:55, 16 April 2016 (UTC)<br />
::::Sure, I'll follow up in a bit about that. [[User:Bolwerk|Bolwerk]] ([[User talk:Bolwerk|talk]]) 15:16, 17 April 2016 (UTC)<br />
::::Here's what happened. Sorry it took me so long to get back to you, been traveling. This is an attempt to install it on my laptop, which hadn't been configured for VPN before. Git'd, changed that line, compiled/made the package (makepkg -s), installed it (sudo pacman -U ...), rebooted, and then...<br />
$ sudo pia -a<br />
Traceback (most recent call last):<br />
File "/usr/bin/pia", line 5, in <module><br />
from pkg_resources import load_entry_point<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2927, in <module><br />
@_call_aside<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2913, in _call_aside<br />
f(*args, **kwargs)<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2940, in _initialize_master_working_set<br />
working_set = WorkingSet._build_master()<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 635, in _build_master<br />
ws.require(__requires__)<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 943, in require<br />
needed = self.resolve(parse_requirements(requirements))<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 829, in resolve<br />
raise DistributionNotFound(req, requirers)<br />
pkg_resources.DistributionNotFound: The 'docopt' distribution was not found and is required by pia<br />
:::: Let me know if there's anything else. If you want to get my attention faster try my name at gmail. [[User:Bolwerk|Bolwerk]] ([[User talk:Bolwerk|talk]]) 16:21, 19 April 2016 (UTC)<br />
::::: I just sent an HO. Some reason it didn't pull the docopt. [[User:Flamusdiu|Flamusdiu]] ([[User talk:Flamusdiu|talk]]) 23:59, 19 April 2016 (UTC)<br />
== Followup concerning pia pkg ==<br />
Regarding above problem, I also tried <br />
sudo pacman -S python-docopt python2-docopt<br />
And this changed the error above to:<br />
$ sudo pia -a<br />
Traceback (most recent call last):<br />
File "/usr/bin/pia", line 9, in <module><br />
load_entry_point('pia==2.6', 'console_scripts', 'pia')()<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 542, in load_entry_point<br />
return get_distribution(dist).load_entry_point(group, name)<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2569, in load_entry_point<br />
return ep.load()<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2229, in load<br />
return self.resolve()<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2235, in resolve<br />
module = __import__(self.module_name, fromlist=['__name__'], level=0)<br />
File "/usr/lib/python3.5/site-packages/pia/__init__.py", line 22, in <module><br />
from . import utils, run<br />
File "/usr/lib/python3.5/site-packages/pia/run.py", line 27, in <module><br />
from pia.docopt import docopt<br />
ImportError: No module named 'pia.docopt'<br />
Cheers! [[User:Bolwerk|Bolwerk]] ([[User talk:Bolwerk|talk]]) 16:27, 19 April 2016 (UTC)<br />
:: Oops. That would be my fault. I'll need to fixed that one. [[User:Flamusdiu|Flamusdiu]] ([[User talk:Flamusdiu|talk]]) 23:59, 19 April 2016 (UTC)<br />
<br />
== Is systemd usage unsupported? ==<br />
<br />
Hi! I haven't found any other way to use this package other than with the openvpn systemd configurations. I was about to make it more clear in the wiki, because it seems to be the easiest way. But then I noticed "Note: These are unsupported configurations".<br />
What's this all about?<br />
<br />
--[[User:JD91mZM2|JD91mZM2]] ([[User talk:JD91mZM2|talk]]) 12:15, 14 January 2018 (UTC)<br />
<br />
:: If you can find any information about systemd's VPN support. I may be able to work with it. It's supported because of a lack of good information about it. [[User:Flamusdiu|Flamusdiu]] ([[User talk:Flamusdiu|talk]]) 13:37, 26 January 2018 (UTC)<br />
<br />
:::: Ah, I see. Thanks! --[[User:JD91mZM2|JD91mZM2]] ([[User talk:JD91mZM2|talk]]) 07:22, 27 January 2018 (UTC)</div>JD91mZM2https://wiki.archlinux.org/index.php?title=Talk:Private_Internet_Access/AUR&diff=507520Talk:Private Internet Access/AUR2018-01-14T12:15:48Z<p>JD91mZM2: /* Is systemd usage unsupported? */ new section</p>
<hr />
<div>I found the AUR package broken. I got PIA working by installing networkmanager-openvpn (may require a reboot) and importing the saved profiles manually from PIA's [https://www.privateinternetaccess.com/openvpn/openvpn.zip configuration zip]. After importing, I made the following changes in NetworkManager: <br />
* obviously needed my username and password; also used the ca.crt from the configuration zip file PIA offers. This is all in one place under Network Connections → VPN → ''Your Regional Profile'' → VPN. Fill in the details you need under ''Authentication''. Think, from this point, it already worked using the default Blowfish cipher. <br />
* ['''Optional but probably recommended''' AES-128 encryption] In the same window, click on Advanced. Under General, I used all the default settings, except I changed my gateway port to 1196. This is only necessary…<br />
* ['''Optional but probably recommended''' ''continued''] …if you want to use AES-128 encryption. Still in the Advanced Settings window, selection 'Security' and change your cipher to AES-128-CBC. <br />
I also keep IPv6 disabled. Not sure this is comprehensive, but I'd love feedback to know if there is anything else I should do. As of now, I haven't really configured my firewall. Otherwise, hope this helps someone. [[User:Bolwerk|Bolwerk]] ([[User talk:Bolwerk|talk]]) 16:08, 12 April 2016 (UTC)<br />
<br />
:How was it broken? If you have the AUR package installed, remember to run `pia -a` after you configure any settings in `/etc/private-internet-access/pia.conf`and login information in `/etc/private-internet-access/login.conf`. I do not normally use Network Manager but I maybe have to install it and take a look at it if the above doesn't work. However, I do need to fix when upgrading that it runs `pia -a` for you.<br />
:[[User:Flamusdiu|Flamusdiu]] ([[User talk:Flamusdiu|talk]]) 23:31, 12 April 2016 (UTC)<br />
<br />
::Hmm, well, when I ran pia -a I got<br />
$ sudo pia -a<br />
Traceback (most recent call last):<br />
File "/usr/bin/pia", line 9, in <module><br />
load_entry_point('pia==2.5', 'console_scripts', 'pia')()<br />
File "/usr/lib/python3.5/site-packages/pia/command_line.py", line 23, in main<br />
pia.run.run()<br />
File "/usr/lib/python3.5/site-packages/pia/run.py", line 58, in run<br />
[globals()[k]() for k, v in props.commandline.__dict__.items() if<br />
File "/usr/lib/python3.5/site-packages/pia/run.py", line 59, in <listcomp><br />
not k == 'hosts' and getattr(props.commandline, k, None)]<br />
File "/usr/lib/python3.5/site-packages/pia/run.py", line 108, in auto_configure<br />
app.config(*getattr(openvpn, config))<br />
File "/usr/lib/python3.5/site-packages/pia/applications/appstrategy.py", line 76, in config<br />
self.app.config(config_id, filename)<br />
TypeError: 'Config' object is not callable<br />
::What goes into pia.conf? I don't see any configuration information about it on the [[Private_Internet_Access_VPN|page]]. Maybe I'm missing something? <br />
::Thank you for the response and let me know if there is anything else you need. I sort of suck with Python. I hope you don't mind that I formatted your response's indentation a little to help the flow for anyone else reading this. [[User:Bolwerk|Bolwerk]] ([[User talk:Bolwerk|talk]]) 14:47, 13 April 2016 (UTC)<br />
<br />
:::Ha! Well, I guess I need to fix that error case. It goes into `/etc/private-internet-access`. There should be an example in there. I will update python-pia to account for a missing config. Also, I will probably need to generate a 'basic' config to put there. Well, this has been fun. Thanks for finding this out! [[User:Flamusdiu|Flamusdiu]] ([[User talk:Flamusdiu|talk]]) 01:26, 14 April 2016 (UTC)<br />
<br />
::::I added an issue about it here https://github.com/flamusdiu/python-pia/issues/4 [[User:Flamusdiu|Flamusdiu]] ([[User talk:Flamusdiu|talk]]) 01:40, 14 April 2016 (UTC)<br />
<br />
:::Bolwerk, can you do `git clone https://aur.archlinux.org/private-internet-access-vpn.git` and change "git+https://github.com/flamusdiu/python-pia.git#tag=v${pkgver}" to "git+https://github.com/flamusdiu/python-pia.git#branch=dev"; then build and test it? You can post here or on the Github page linked above. [[User:Flamusdiu|Flamusdiu]] ([[User talk:Flamusdiu|talk]]) 20:55, 16 April 2016 (UTC)<br />
::::Sure, I'll follow up in a bit about that. [[User:Bolwerk|Bolwerk]] ([[User talk:Bolwerk|talk]]) 15:16, 17 April 2016 (UTC)<br />
::::Here's what happened. Sorry it took me so long to get back to you, been traveling. This is an attempt to install it on my laptop, which hadn't been configured for VPN before. Git'd, changed that line, compiled/made the package (makepkg -s), installed it (sudo pacman -U ...), rebooted, and then...<br />
$ sudo pia -a<br />
Traceback (most recent call last):<br />
File "/usr/bin/pia", line 5, in <module><br />
from pkg_resources import load_entry_point<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2927, in <module><br />
@_call_aside<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2913, in _call_aside<br />
f(*args, **kwargs)<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2940, in _initialize_master_working_set<br />
working_set = WorkingSet._build_master()<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 635, in _build_master<br />
ws.require(__requires__)<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 943, in require<br />
needed = self.resolve(parse_requirements(requirements))<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 829, in resolve<br />
raise DistributionNotFound(req, requirers)<br />
pkg_resources.DistributionNotFound: The 'docopt' distribution was not found and is required by pia<br />
:::: Let me know if there's anything else. If you want to get my attention faster try my name at gmail. [[User:Bolwerk|Bolwerk]] ([[User talk:Bolwerk|talk]]) 16:21, 19 April 2016 (UTC)<br />
::::: I just sent an HO. Some reason it didn't pull the docopt. [[User:Flamusdiu|Flamusdiu]] ([[User talk:Flamusdiu|talk]]) 23:59, 19 April 2016 (UTC)<br />
== Followup concerning pia pkg ==<br />
Regarding above problem, I also tried <br />
sudo pacman -S python-docopt python2-docopt<br />
And this changed the error above to:<br />
$ sudo pia -a<br />
Traceback (most recent call last):<br />
File "/usr/bin/pia", line 9, in <module><br />
load_entry_point('pia==2.6', 'console_scripts', 'pia')()<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 542, in load_entry_point<br />
return get_distribution(dist).load_entry_point(group, name)<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2569, in load_entry_point<br />
return ep.load()<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2229, in load<br />
return self.resolve()<br />
File "/usr/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2235, in resolve<br />
module = __import__(self.module_name, fromlist=['__name__'], level=0)<br />
File "/usr/lib/python3.5/site-packages/pia/__init__.py", line 22, in <module><br />
from . import utils, run<br />
File "/usr/lib/python3.5/site-packages/pia/run.py", line 27, in <module><br />
from pia.docopt import docopt<br />
ImportError: No module named 'pia.docopt'<br />
Cheers! [[User:Bolwerk|Bolwerk]] ([[User talk:Bolwerk|talk]]) 16:27, 19 April 2016 (UTC)<br />
:: Oops. That would be my fault. I'll need to fixed that one. [[User:Flamusdiu|Flamusdiu]] ([[User talk:Flamusdiu|talk]]) 23:59, 19 April 2016 (UTC)<br />
<br />
== Is systemd usage unsupported? ==<br />
<br />
Hi! I haven't found any other way to use this package other than with the openvpn systemd configurations. I was about to make it more clear in the wiki, because it seems to be the easiest way. But then I noticed "Note: These are unsupported configurations".<br />
What's this all about?<br />
<br />
--[[User:JD91mZM2|JD91mZM2]] ([[User talk:JD91mZM2|talk]]) 12:15, 14 January 2018 (UTC)</div>JD91mZM2https://wiki.archlinux.org/index.php?title=Dunst&diff=506745Dunst2018-01-09T14:07:00Z<p>JD91mZM2: Formatting fix. I am so sorry.</p>
<hr />
<div>{{DISPLAYTITLE:Dunst}}<br />
[[Category:X_server ]]<br />
[[ja:Dunst]]<br />
{{Related articles start}}<br />
{{Related|Desktop Notifications}}<br />
{{Related articles end}}<br />
<br />
[http://knopwob.org/dunst/index.html Dunst] is a lightweight replacement for the notification-daemons provided by most desktop environments.<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|dunst}} package. There is no need to start or enable dunst; it is called by systemd when programs send notifications through dbus.<br />
<br />
An example configuration file is included at {{ic|/usr/share/dunst/dunstrc}}.<br />
<br />
Copy this file to {{ic|~/.config/dunst/dunstrc}} and edit it accordingly.<br />
<br />
== Appearance ==<br />
<br />
Dunst allows for the use of html markup in notifications. Some examples are bold, italics, strikethrough and underline. For a complete reference see [https://developer.gnome.org/pango/stable/PangoMarkupFormat.html]. HTML can be stripped from notifications if {{ic|markup}} is set to {{ic|none}}.<br />
<br />
The formatting of the notification can be specified. Options are as follows:<br />
%a appname<br />
%s summary<br />
%b body<br />
%i iconname (including its path)<br />
%I iconname (without its path)<br />
%p progress value if set ([ 0%] to [100%]) or nothing<br />
These can be used in conjunction with HTML markup. For example the {{ic|format}} can be set to {{ic|<nowiki><b>%s</b>\n%b</nowiki>}} for a bolded notification summary, a newline and the body unformatted.<br />
<br />
===Icon Sets===<br />
{{Note|As of version 1.2.0, Dunst looks for nonstandard icon names, and will likely complain that it can't load the {{ic|info}} or {{ic|emblem-important}} icons. This will be fixed in the next release.[https://github.com/dunst-project/dunst/pull/406]}}<br />
<br />
Icons are set in the option {{ic|icon_folders}}. Status and devices icons are needed. By default, Dunst looks for the {{Pkg|gnome-icon-theme}} icons.<br />
<br />
# Paths to default icons.<br />
icon_folders = /usr/share/icons/Arc/status/16/:/usr/share/icons/Arc/devices/16/<br />
<br />
== Shortcuts ==<br />
<br />
Idle thresholds can be set letting the notification stay onscreen if the user is idle longer than the threhold.<br />
<br />
To close a notification before it times out use {{ic|Control + space}}. If multiple notifications are onscreen {{ic|Control + Shift + Space}} closes all of them.<br />
<br />
{{Tip|The commands for closing and reopening notifications can be changed. If using a symbol rather than an alphabetical letter it must be spelled out, e.g. period.}}<br />
<br />
A history list can be accessed by using {{ic|Control + grave}}. A context menu can be opened using {{ic|Control + Shift + period}}. The context menu uses dmenu to filter out URLs and open them in your browser. The default browser can be set in the config like so:<br />
browser = /usr/bin/chromium <br />
<br />
== Scripting ==<br />
<br />
Dunst can be configured to run scripts based on certain notification content. Here is an example using Dunst to run a script when someone from {{Pkg|pidgin}} signs on:<br />
<br />
[signed_on]<br />
appname = Pidgin<br />
summary = "*signed on*"<br />
urgency = low<br />
script = do_something.sh<br />
<br />
== Troubleshooting ==<br />
<br />
When using dunst without a Display Manager, the {{ic|DISPLAY}} environment variable might not be correctly set.[https://github.com/dunst-project/dunst/issues/347]<br />
<br />
To fix this, add the following to your {{ic|.xinirc}}:<br />
systemctl --user import-environment DISPLAY</div>JD91mZM2https://wiki.archlinux.org/index.php?title=Dunst&diff=506744Dunst2018-01-09T14:06:05Z<p>JD91mZM2: Add troubleshooting page for people without a display manager</p>
<hr />
<div>{{DISPLAYTITLE:Dunst}}<br />
[[Category:X_server ]]<br />
[[ja:Dunst]]<br />
{{Related articles start}}<br />
{{Related|Desktop Notifications}}<br />
{{Related articles end}}<br />
<br />
[http://knopwob.org/dunst/index.html Dunst] is a lightweight replacement for the notification-daemons provided by most desktop environments.<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|dunst}} package. There is no need to start or enable dunst; it is called by systemd when programs send notifications through dbus.<br />
<br />
An example configuration file is included at {{ic|/usr/share/dunst/dunstrc}}.<br />
<br />
Copy this file to {{ic|~/.config/dunst/dunstrc}} and edit it accordingly.<br />
<br />
== Appearance ==<br />
<br />
Dunst allows for the use of html markup in notifications. Some examples are bold, italics, strikethrough and underline. For a complete reference see [https://developer.gnome.org/pango/stable/PangoMarkupFormat.html]. HTML can be stripped from notifications if {{ic|markup}} is set to {{ic|none}}.<br />
<br />
The formatting of the notification can be specified. Options are as follows:<br />
%a appname<br />
%s summary<br />
%b body<br />
%i iconname (including its path)<br />
%I iconname (without its path)<br />
%p progress value if set ([ 0%] to [100%]) or nothing<br />
These can be used in conjunction with HTML markup. For example the {{ic|format}} can be set to {{ic|<nowiki><b>%s</b>\n%b</nowiki>}} for a bolded notification summary, a newline and the body unformatted.<br />
<br />
===Icon Sets===<br />
{{Note|As of version 1.2.0, Dunst looks for nonstandard icon names, and will likely complain that it can't load the {{ic|info}} or {{ic|emblem-important}} icons. This will be fixed in the next release.[https://github.com/dunst-project/dunst/pull/406]}}<br />
<br />
Icons are set in the option {{ic|icon_folders}}. Status and devices icons are needed. By default, Dunst looks for the {{Pkg|gnome-icon-theme}} icons.<br />
<br />
# Paths to default icons.<br />
icon_folders = /usr/share/icons/Arc/status/16/:/usr/share/icons/Arc/devices/16/<br />
<br />
== Shortcuts ==<br />
<br />
Idle thresholds can be set letting the notification stay onscreen if the user is idle longer than the threhold.<br />
<br />
To close a notification before it times out use {{ic|Control + space}}. If multiple notifications are onscreen {{ic|Control + Shift + Space}} closes all of them.<br />
<br />
{{Tip|The commands for closing and reopening notifications can be changed. If using a symbol rather than an alphabetical letter it must be spelled out, e.g. period.}}<br />
<br />
A history list can be accessed by using {{ic|Control + grave}}. A context menu can be opened using {{ic|Control + Shift + period}}. The context menu uses dmenu to filter out URLs and open them in your browser. The default browser can be set in the config like so:<br />
browser = /usr/bin/chromium <br />
<br />
== Scripting ==<br />
<br />
Dunst can be configured to run scripts based on certain notification content. Here is an example using Dunst to run a script when someone from {{Pkg|pidgin}} signs on:<br />
<br />
[signed_on]<br />
appname = Pidgin<br />
summary = "*signed on*"<br />
urgency = low<br />
script = do_something.sh<br />
<br />
== Troubleshooting ==<br />
<br />
When using dunst without a Display Manager, the {{ic|DISPLAY}} environment variable might not be correctly set.[https://github.com/dunst-project/dunst/issues/347]<br />
<br />
To fix this, add the following to your {{ic|.xinirc}}:<br />
systemctl --user import-environment DISPLAY</div>JD91mZM2