https://wiki.archlinux.org/api.php?action=feedcontributions&user=Iruel&feedformat=atomArchWiki - User contributions [en]2024-03-29T05:15:25ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Systemd/Services&diff=245344Systemd/Services2013-01-28T04:28:06Z<p>Iruel: /* Logmein Hamachi */</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:Daemons and system services]]<br />
[[Category:Boot process]]<br />
{{Article summary start}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|systemd}}<br />
{{Article summary end}}<br />
<br />
This page is useful to publish [[systemd]] service files that are missing in the appropriate package in the repositories. These files can be copied from other distributions or created by yourself.<br />
<br />
== Adsuck ==<br />
{{hc|/etc/systemd/system/adsuck.service|<nowiki><br />
[Unit]<br />
Description=Adsuck daemon<br />
After=network.target<br />
<br />
[Service]<br />
Type=forking<br />
ExecStart=/usr/sbin/adsuck -l 127.0.0.1 -c /var/adsuck -f /resolv.conf /hosts -r /filter<br />
ExecStartPost=/bin/sh -c "echo 'nameserver 127.0.0.1' > /etc/resolv.conf"<br />
ExecStop=/bin/kill $MAINPID<br />
ExecStopPost=/bin/sh -c "cp /var/adsuck/resolv.conf /etc/resolv.conf"<br />
ExecReload=/bin/kill -HUP $MAINPID ; /bin/kill -USR1 $MAINPID<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
{{Note|1=Script based on the comment on the {{AUR|adsuck}} [[AUR]] package page.}}<br />
<br />
== BOINC Daemon ==<br />
{{hc|/etc/systemd/system/boinc.service|<nowiki><br />
[Unit]<br />
Description=BOINC Daemon<br />
<br />
[Service]<br />
User=boinc<br />
Nice=19<br />
ExecStart=/usr/bin/boinc_client --dir /var/lib/boinc --redirectio<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
== Change name of wireless interface ==<br />
<br />
For those rare occasions where this is necessary.<br />
{{hc|/etc/iftab|<nowiki><br />
wlan* mac [mac-address]</nowiki>}}<br />
Replace [mac-address] with the one corresponding to the networking hardware.<br />
<br />
{{hc|/etc/systemd/system/fix-wireless-interface.service|<nowiki><br />
[Unit]<br />
Description=Changes the wireless interface eth1 to the proper wlan*<br />
Wants=network.target<br />
Before=network.target<br />
<br />
[Service]<br />
Type=oneshot<br />
ExecStart=/usr/sbin/ifrename -c /etc/iftab<br />
<br />
[Install]<br />
WantedBy=multi-user.target</nowiki>}}<br />
<br />
== Courier-IMAP ==<br />
{{hc|/etc/systemd/system/authdaemond.service|<nowiki><br />
[Unit]<br />
Description=Courier Authentification Daemon<br />
<br />
[Service]<br />
Type=forking<br />
ExecStart=/usr/sbin/authdaemond start<br />
ExecStop=/usr/sbin/authdaemon stop<br />
PIDFile=/run/authdaemon/pid<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
{{hc|/etc/systemd/system/courier-imapd.service|<nowiki><br />
[Unit]<br />
Description=Courier IMAP Daemon<br />
Requires=authdaemond.service<br />
After=authdaemond.service<br />
<br />
[Service]<br />
Type=forking<br />
EnvironmentFile=/etc/courier-imap/imapd<br />
ExecStart=/usr/lib/courier-imap/imapd.rc start<br />
ExecStop=/usr/lib/courier-imap/imapd.rc stop<br />
PIDFile=/var/run/courier/imapd.pid<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
{{hc|/etc/systemd/system/courier-imapd-ssl.service|<nowiki><br />
[Unit]<br />
Description=Courier IMAP Daemon<br />
Requires=authdaemond.service<br />
After=authdaemond.service<br />
<br />
[Service]<br />
Type=forking<br />
EnvironmentFile=/etc/courier-imap/imapd<br />
ExecStart=/usr/lib/courier-imap/imapd-ssl.rc start<br />
ExecStop=/usr/lib/courier-imap/imapd-ssl.rc stop<br />
PIDFile=/var/run/courier/imapd-ssl.pid<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
{{hc|/usr/lib/tmpfiles.d/authdaemond.conf|<nowiki><br />
D /run/authdaemon 0755 courier courier<br />
</nowiki>}}<br />
<br />
{{hc|/usr/lib/tmpfiles.d/courier-imapd.conf|<nowiki><br />
D /run/courier 0755 courier courier<br />
</nowiki>}}<br />
<br />
{{Note|Taken from Gentoo and modified for Arch. You could replace the files in tmpfiles.d with appropriate ExecStartPre calls as well. Service files for pop3d and pop3d-ssl are still missing, but are probably very similar to the imapd files!}}<br />
<br />
{{Warning|1=Beware that you may need to add Requires=network.target to certain units like mythtv or chrony if you use this unit }}<br />
<br />
== dropbear ==<br />
{{hc|/etc/systemd/system/dropbear.service|<br />
<nowiki><br />
[Unit]<br />
Description=Dropbear SSH server<br />
<br />
[Service]<br />
Type=oneshot<br />
ExecStart=/usr/sbin/dropbear -p 22 -d /etc/dropbear/dropbear_dss_host_key -w -P /var/run/dropbear.pid<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
<br />
</nowiki>}}<br />
<br />
== IPv6 (Hurricane Electric) ==<br />
{{hc|/etc/systemd/system/he-ipv6.service|<nowiki><br />
<br />
[Unit]<br />
Description=he.net IPv6 tunnel<br />
After=network.target<br />
<br />
[Service]<br />
Type=oneshot<br />
RemainAfterExit=yes<br />
ExecStart=/sbin/ip tunnel add he-ipv6 mode sit remote 209.51.161.14 local <local IPv4> ttl 255<br />
ExecStart=/sbin/ip link set he-ipv6 up mtu 1480<br />
ExecStart=/sbin/ip addr add <local IPv6>/64 dev he-ipv6<br />
ExecStart=/sbin/ip -6 route add ::/0 dev he-ipv6<br />
ExecStart=/sbin/ip addr add <public IPv6>/64 dev he-ipv6<br />
ExecStop=/sbin/ip -6 route del ::/0 dev he-ipv6<br />
ExecStop=/sbin/ip link set he-ipv6 down<br />
ExecStop=/sbin/ip tunnel del he-ipv6<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
<br />
</nowiki>}}<br />
<br />
== Logmein Hamachi ==<br />
{{hc|/etc/systemd/system/logmein-hamachi.service|<nowiki><br />
[Unit]<br />
Description=LogMeIn Hamachi daemon<br />
After=local-fs.target network.target<br />
<br />
[Service]<br />
ExecStart=/opt/logmein-hamachi/bin/hamachid<br />
Type=forking<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
== pcscd ==<br />
{{hc|/etc/systemd/system/pcscd.service|<nowiki><br />
[Unit]<br />
Description=PC/SC Smart Card Daemon<br />
Requires=pcscd.socket<br />
<br />
[Service]<br />
ExecStart=/usr/sbin/pcscd --foreground --auto-exit<br />
ExecReload=/usr/sbin/pcscd --hotplug<br />
StandardOutput=syslog<br />
<br />
[Install]<br />
Also=pcscd.socket<br />
</nowiki>}}<br />
<br />
{{hc|/etc/systemd/system/pcscd.socket|<nowiki><br />
[Unit]<br />
Description=PC/SC Smart Card Daemon Activation Socket<br />
<br />
[Socket]<br />
ListenStream=/var/run/pcscd/pcscd.comm<br />
<br />
[Install]<br />
WantedBy=sockets.target<br />
</nowiki>}}<br />
Reference:<br />
* http://ludovicrousseau.blogspot.de/2011/11/pcscd-auto-start-using-systemd.html<br />
<br />
== Filesystem mounts ==<br />
''See: [[Systemd#Filesystem_mounts]]''<br />
<br />
== screen ==<br />
Autostarts screen for the specified user. (e.g. `systemctl enable screen@florian.service`)<br />
{{hc|/etc/systemd/system/screen@.service|<nowiki><br />
[Unit]<br />
Description=screen<br />
After=network.target<br />
<br />
[Service]<br />
Type=forking<br />
User=%i<br />
ExecStart=/usr/bin/screen -dmS autoscreen<br />
ExecStop=/usr/bin/screen -S autoscreen -X quit<br />
<br />
[Install]<br />
WantedBy=multi-user.target</nowiki>}}<br />
<br />
== Static Ethernet network ==<br />
<br />
This is a custom service file for static Ethernet configurations. For other configurations, see [[Systemd#Network]]<br />
{{Warning |1=Beware, you may have to add 'Requires=network.target' for certain services like chrony or mythtv when using this.}}<br />
{{hc|/etc/conf.d/network|<nowiki><br />
interface=eth0<br />
address=192.168.0.1<br />
netmask=24<br />
broadcast=192.168.0.255<br />
gateway=192.168.0.254</nowiki>}}<br />
<br />
{{hc|/etc/systemd/system/network.service|<nowiki><br />
[Unit]<br />
Description=Network Connectivity<br />
Wants=network.target<br />
Before=network.target<br />
<br />
[Service]<br />
Type=oneshot<br />
RemainAfterExit=yes<br />
EnvironmentFile=/etc/conf.d/network<br />
ExecStart=/sbin/ip link set dev ${interface} up<br />
ExecStart=/sbin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev ${interface}<br />
ExecStart=/sbin/ip route add default via ${gateway}<br />
<br />
ExecStop=/sbin/ip addr flush dev ${interface}<br />
ExecStop=/sbin/ip link set dev ${interface} down<br />
<br />
[Install]<br />
WantedBy=multi-user.target</nowiki>}}<br />
<br />
== Set network interface in promiscuous mode ==<br />
{{hc|/etc/systemd/system/promiscuous@.service|<nowiki><br />
[Unit]<br />
Description=Set %i interface in promiscuous mode<br />
<br />
[Service]<br />
Type=oneshot<br />
ExecStart=/usr/sbin/ip link set dev %i promisc on<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
If you want to enable promiscuous mode on interface {{ic|1=eth0}} run:<br />
<br />
# systemctl enable promiscuous@eth0.service<br />
<br />
==tmux==<br />
Starts screen for specified user (eg. tmux@main-user.service)<br />
{{hc|/etc/systemd/system/tmux@.service|<nowiki><br />
[Unit]<br />
Description=Start tmux in detached session<br />
<br />
[Service]<br />
Type=forking<br />
ExecStart=/usr/bin/tmux new-session -s %u -d<br />
ExecStop=/usr/bin/tmux kill-session -t %u<br />
User=%I<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
== tpfand ==<br />
{{hc|/etc/systemd/system/tpfand.service|<nowiki><br />
[Unit]<br />
Description=ThinkPad Fan Control<br />
<br />
[Service]<br />
Type=forking<br />
PIDFile=/var/run/tpfand.pid<br />
ExecStart=/usr/sbin/tpfand<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
== truecrypt volume setup==<br />
This service employ truecrypt as a mapper only and requires you to create an entry in fstab to mount the mapped & unencrypted device to your desired mountpoint like for instance so:<br />
{{hc|/etc/fstab|<nowiki><br />
/dev/mapper/truecrypt1 /home/ ext4 defaults 0 2</nowiki>}}<br />
<br />
The {{ic|2}} means your fs will be fscked regularly.<br />
<br />
{{hc|/usr/lib/systemd/system/truecrypt@.service|<nowiki><br />
[Unit]<br />
Description=Truecrypt Setup for %I<br />
DefaultDependencies=no<br />
Conflicts=umount.target<br />
Before=umount.target<br />
After=systemd-readahead-collect.service systemd-readahead-replay.service<br />
<br />
[Service]<br />
RemainAfterExit=yes<br />
StandardInput=tty-force<br />
ExecStart=/usr/bin/truecrypt --filesystem=none %I<br />
ExecStop=/usr/bin/truecrypt --filesystem=none -d %I<br />
<br />
[Install]<br />
WantedBy=cryptsetup.target</nowiki>}}<br />
<br />
If your encrypted volume is {{ic|1=/dev/sda2}}, you would enable the service with this command: <br />
# systemctl enable truecrypt@dev-sda2.service<br />
<br />
{{Note|1=Although it works, this service should stil be considered experimental, there might be better solutions to use truecrypt with systemd. If you use mpd or any other programme that needs to access the encrypted filesystem, put it into the line starting with {{ic|1=Before=}}. Cheers to dgbaley27 for basically writing this! Improvements welcome!}}<br />
<br />
{{Note|This way of doing it (specifically the use of tty-force) is not recommended according to [http://lists.freedesktop.org/archives/systemd-devel/2012-October/006905.html this thread], which suggests an alternative approach similar to that taken for LUKS.}}<br />
<br />
== truecrypt (mount encrypted fs) ==<br />
{{hc|/etc/systemd/system/multi-user.target/truecrypt-mount.service|<nowiki><br />
[Unit]<br />
Description=Mount Truecrypt-encrypted filesystems<br />
ConditionFileIsExecutable=/usr/bin/truecrypt<br />
#Requires=truecrypt-unmount.service<br />
#Before=mpd.service<br />
<br />
[Service]<br />
Type=oneshot<br />
ExecStart=/usr/bin/truecrypt -t /dev/sdXY /MOUNTPOINT<br />
StandardInput=tty-force<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
#Also=truecrypt-unmount.service<br />
</nowiki>}}<br />
<br />
{{Note|1=Gleaned from [https://bbs.archlinux.org/viewtopic.php?pid=1163760#p1163760 bpont on the forums]. If you use mpd and have your music dir in ~, uncomment {{ic|1=Before=mpd.service}}, which takes care that mpd is started after this script. If you also use {{ic|1=truecrypt-unmount.service}} (see next service) uncomment the {{ic|1=Requires=truecrypt-unmount.service}} and {{ic|1=Also=truecrypt-unmount.service}} so it gets installed and activated by systemd automatically when using this script.}}<br />
<br />
== truecrypt (unmount encrypted fs) ==<br />
{{hc|/etc/systemd/system/multi-user/truecrypt-unmount.service|<nowiki><br />
[Unit]<br />
Description=Truecrypt unmount on shutdown, poweroff, reboot, system halt<br />
Before=local-fs-pre.target<br />
#Before=mpd.service<br />
ConditionPathExistsGlob=/media/truecrypt*<br />
DefaultDependencies=no<br />
<br />
[Service]<br />
Type=oneshot<br />
ExecStart=/usr/bin/truecrypt -d<br />
TimeoutSec=5<br />
StandardInput=tty<br />
<br />
[Install]<br />
WantedBy=shutdown.target reboot.target halt.target poweroff.target<br />
</nowiki>}}<br />
<br />
{{Note|1=I don't know if this works yet. It may be necessary to replace {{ic|1=TimeoutSec=5}} with {{ic|1=ExecStart=sleep 5}}. If you use {{ic|mpd}}, make sure to uncomment {{ic|1=Before=mpd.service}} to make sure this service is executed after mpd is closed down (different order during the shutdown of processes than during start up!). Script gleaned from [https://bbs.archlinux.org/viewtopic.php?pid=1163334#p1163334 tladuke on the forums].}}<br />
<br />
== verynice ==<br />
{{hc|/etc/systemd/system/verynice.service|<nowiki><br />
[Unit]<br />
Description=A tool for dynamically adjusting the nice-level of processes<br />
<br />
[Service]<br />
Type=forking<br />
PIDFile=/var/run/verynice.pid<br />
ExecStart=/usr/sbin/verynice -d /var/run/verynice.pid<br />
ExecStop=/bin/kill -15 $MAINPID<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
== MPD Socket Activation ==<br />
If the following mpd.socket file is enabled while mpd.service (provided by {{Pkg|mpd}}) is disabled, systemd will not start mpd immediately, but it will listen on the appropriate sockets. When an mpd client attempts to connect on one of those sockets, systemd will start mpd.service and transparently hand over control of those ports to the mpd process.<br />
<br />
If you prefer to listen on different UNIX sockets or network ports (even multiple sockets of each type), or if you prefer not to listen on network ports at all, you should add/edit/remove the appropriate "ListenStream=" lines in the [Socket] section of mpd.socket ''AND'' modify the appropriate lines /etc/mpd.conf (see "man 5 mpd.conf" for more details).<br />
<br />
If you use different (even multiple) network or local sockets, or prefer not to use network sockets at all, simply add, change, or remove lines beginning with "ListenStream=" in the [Socket] section.<br />
{{hc|/usr/lib/systemd/system/mpd.socket|<nowiki><br />
[Unit]<br />
Description=Music Player Daemon Sockets<br />
<br />
[Socket]<br />
ListenStream=/var/run/mpd/socket<br />
ListenStream=6600<br />
<br />
[Install]<br />
WantedBy=sockets.target<br />
</nowiki>}}<br />
<br />
== VideoLAN 2.0 ==<br />
Change the '''User''' parameter.<br />
<br />
{{hc|/etc/systemd/system/vlc.service|<nowiki><br />
[Unit]<br />
Description=VideoOnLAN Service<br />
After=network.target<br />
<br />
[Service]<br />
Type=forking<br />
User=nobody<br />
ExecStart=/usr/bin/cvlc --intf=lua --lua-intf=http --daemon --http-port 8090<br />
Restart=on-abort<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
== Xvfb ==<br />
Change the '''User'''/'''Group''' parameters.<br />
{{hc|/etc/systemd/system/xinit.service|<nowiki><br />
[Unit]<br />
Description=xinit with xvfb<br />
After=network.target<br />
<br />
[Service]<br />
User=bitlbee<br />
Group=bitlbee<br />
ExecStart=/usr/bin/xvfb-run bash %h/.xinitrc<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
== ZNC ==<br />
Assuming znc was set up to be run by znc user from {{ic|/var/lib/znc}} as explained in the [[Znc]] wiki page.<br />
<br />
{{hc|/etc/systemd/system/znc.service|<nowiki><br />
[Unit]<br />
Description=ZNC Daemon<br />
After=network.target<br />
<br />
[Service]<br />
ExecStart=/usr/bin/znc -f -d /var/lib/znc<br />
User=znc<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
<br />
</nowiki>}}<br />
<br />
== Nexus ==<br />
This is for Sonatype's Nexus OSS Artifact Repository.<br />
{{AUR|nexus2}} is in the [[AUR]].<br />
<br />
{{hc|/etc/systemd/system/nexus.service|<nowiki><br />
[Unit]<br />
Description=Nexus OSS Artifact Repository<br />
<br />
[Service]<br />
Type=forking<br />
EnvironmentFile=-/etc/conf.d/nexus<br />
ExecStart=/opt/nexus/bin/nexus start<br />
ExecStop=/opt/nexus/bin/nexus stop<br />
ExecReload=/opt/nexus/bin/nexus restart<br />
PIDFile=/opt/nexus/run/nexus.pid<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
== Gitlab ==<br />
<br />
{{hc|/etc/systemd/system/gitlab.service|<nowiki><br />
[Unit]<br />
Description=Self Hosted Git Management<br />
Requires=postgresql.service redis.service<br />
After=postgresql.service redis.service<br />
Wants=postfix.service gitlab-worker.service<br />
<br />
[Service]<br />
Type=forking<br />
User=gitlab<br />
WorkingDirectory=/home/gitlab/gitlab<br />
ExecStart=/home/gitlab/gitlab/script/rails server -d -e production<br />
PIDFile=/home/gitlab/gitlab/tmp/pids/server.pid<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
{{hc|/etc/systemd/system/gitlab-worker.service|<nowiki><br />
[Unit]<br />
Description=Gitlab Resque Worker<br />
Requires=redis.service<br />
After=redis.service<br />
Wants=postfix.service postgresql.service<br />
<br />
[Service]<br />
Type=forking<br />
User=gitlab<br />
WorkingDirectory=/home/gitlab/gitlab<br />
ExecStart=/bin/bash -c '. ~/.bashrc; . ./resque.sh'<br />
ExecStopPost=/usr/bin/rm /home/gitlab/gitlab/tmp/pids/resque_worker.pid<br />
PIDFile=/home/gitlab/gitlab/tmp/pids/resque_worker.pid<br />
</nowiki>}}<br />
<br />
== Cisco AnyConnect VPN ==<br />
<br />
{{hc|/etc/systemd/system/ciscovpn.service|<nowiki><br />
[Unit]<br />
Description=Cisco AnyConnect Secure Mobility Client Agent<br />
Requires=network.target remote-fs.target<br />
After=network.target remote-fs.target<br />
<br />
[Service]<br />
Type=forking<br />
PIDFile=/var/run/vpnagentd.pid<br />
ExecStart=/opt/cisco/anyconnect/bin/vpnagentd<br />
ExecStop=/usr/bin/killall /opt/cisco/anyconnect/bin/vpnagentd<br />
Restart=on-abort<br />
<br />
[Install]<br />
# one may want to use multi-user.target instead<br />
WantedBy=graphical.target<br />
</nowiki>}}<br />
<br />
== Emacs Daemon ==<br />
{{hc|/etc/systemd/system/emacs@.service|<nowiki><br />
[Unit]<br />
Description=Emacs: the extensible, self-documenting text editor<br />
<br />
[Service]<br />
Type=forking<br />
ExecStart=/usr/bin/emacs --daemon --chdir %h<br />
ExecStop=/usr/bin/emacsclient --eval "(progn (setq kill-emacs-hook 'nil) (kill-emacs))"<br />
Restart=always<br />
User=%i<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
{{Note|1= Enable the unit for your user<br />
systemctl enable emacs@<username><br />
systemctl start emacs@<username>}}<br />
{{Note|1=Source: [http://www.emacswiki.org/emacs/EmacsAsDaemon#toc8 EmacsWiki].}}<br />
<br />
== Monkey http server deamon ==<br />
{{hc|/etc/systemd/system/monkey.service|<nowiki><br />
[Unit]<br />
Description=Monkey http server deamon<br />
After=network.target<br />
<br />
[Service]<br />
Type=forking<br />
ExecStart=/YOUR/PATH/TO/monkey/bin/monkey -D<br />
ExecStop=/bin/kill $MAINPID<br />
ExecReload=/bin/kill $MAINPID ; /YOUR/PATH/TO/monkey/bin/monkey -D<br />
PIDFile=/YOUR/PATH/TO/monkey/monkey.pid.80<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
{{Note|1= Replace /YOUR/PATH/TO entries with the path to monkey on your system}}<br />
{{Note|1= PIDFile= entry should point to pidfile location specified in your monkey config file. The configured port number should be appended to the filename}}<br />
{{Note|1=Gist available at: [git://gist.github.com/4238052.git github].}}<br />
<br />
== VirtualBox virtual machines ==<br />
<br />
{{hc|/etc/systemd/system/vboxvmservice@.service|<nowiki><br />
[Unit]<br />
Description=VBox Virtual Machine %i Service<br />
Requires=systemd-modules-load.service<br />
After=systemd-modules-load.service<br />
<br />
[Service]<br />
User=user<br />
Group=vboxusers<br />
ExecStart=/usr/bin/VBoxHeadless -s %i<br />
ExecStop=/usr/bin/VBoxManage controlvm %i savestate<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
{{Note|1= Each virtual machine has its own service. Replace user with a user that is a member of the vboxusers group.<br />
systemctl enable vboxvmservice@<vm name>.service<br />
systemctl start vboxvmservice@<vm name>.service}}<br />
{{Note|1=As of VirtualBox 4.2 there is another way to get virtual machines going: http://lifeofageekadmin.com/how-to-set-your-virtualbox-vm-to-automatically-startup/ Please edit the [[VirtualBox]] page if you figure it out.}}<br />
<br />
<br />
== See also ==<br />
<br />
* [[systemd]]<br />
* [http://en.gentoo-wiki.com/wiki/Systemd systemd at gentoo wiki]</div>Iruelhttps://wiki.archlinux.org/index.php?title=Hamachi&diff=245343Hamachi2013-01-28T04:27:32Z<p>Iruel: /* Systemd */</p>
<hr />
<div>[[it:Hamachi]]<br />
<br />
[[Category:Virtual Private Network]]<br />
{{Poor writing|Needs to be updated for [[Help:Style]] compliance.}}<br />
[[Wikipedia:Hamachi (software)|Hamachi]] is a proprietary (closed source) commercial VPN software. With Hamachi you can organize two or more computers with an Internet connection into their own virtual network for direct secure communication.<br />
<br />
== Installation ==<br />
Version 2 of the Linux Hamachi client exists and is currently in beta. It is available from [https://secure.logmein.com/US/labs/ the labs page on the Hamachi website]; however, the vendor's tarball requires LSB and will not install correctly. You should use the {{AUR|logmein-hamachi}} package from the [[AUR]] instead.<br />
<br />
==Configuration==<br />
=== Set up tun ===<br />
<br />
To run Hamachi you need /dev/net/tun.<br />
<br />
This is created by the tun module. As root, run:<br />
{{bc|<br />
modprobe tun<br />
}}<br />
<br />
Or you can manually create /dev/net/tun by running:<br />
{{bc|<br />
mkdir /dev/net<br />
mknod /dev/net/tun c 10 200<br />
}}<br />
<br />
Also, make sure to add the "tun" modules to rc.conf so that /dev/net/tun is created next time your computer turns on.<br />
<br />
{{bc|1=<br />
MODULES=(... ... ... ... ... tun ... ... ...)<br />
}}<br />
<br />
<br />
=== Set Up Tun For Systemd ===<br />
<br />
Being as section above can only be applied for init.scripts, in order to install the module, as root run:<br />
<br />
{{bc|<br />
modprobe tun<br />
}}<br />
<br />
Then add tun to the list of modules by using your favorite text editor and running<br />
{{bc|# vi /etc/modules-load.d/tun.conf |<br />
#Load tun module at boot.<br />
tun<br />
}}<br />
<br />
=== Hamachi 2 (beta) ===<br />
<br />
Hamachi 2 is configured in {{ic|/var/lib/logmein-hamachi/h2-engine-override.cfg}} (create that file if it doesn't exist).<br />
Unfortunately, it isn't easy to find a comprehensive list of possible configuration options, so here are a few that you can use.<br />
<br />
====Using the hamachi command line tool as a regular user====<br />
In order to use the {{ic|hamachi}} command line tool as a regular user, add the following line to the configuration file:<br />
{{bc|Ipc.User YourUserNameHere}}<br />
<br />
====Automatically setting a custom nickname====<br />
Normally, Hamachi uses your system's hostname as the nickname that other Hamachi users will see. If you want to automatically set a custom nickname every time Hamachi starts, add the following line to the configuration file:<br />
{{bc|Setup.AutoNick YourNicknameHere}}<br />
<br />
You can also manually set a nickname using the {{ic|hamachi}} command line tool:<br />
{{bc|# hamachi set-nick YourNicknameHere}}<br />
<br />
However, this needs to be done every time Hamachi is (re-)started, so if you always want to use the same nickname, setting it automatically (as explained above) is probably easier.<br />
<br />
==Running Hamachi==<br />
<br />
Start up the (matt) daemon<br />
{{bc|<br />
$hamachi start<br />
}}<br />
Now you have a whole bunch of commands at your disposal. These are in no particular order and are fairly self explanatory. <br />
<br />
{{bc|<br />
$hamachi set-nick bob<br />
$hamachi login<br />
$hamachi create my-net secretpassword<br />
$hamachi go-online my-net<br />
$hamachi list<br />
$hamachi go-offline my-net<br />
}}<br />
<br />
To get a list of all the commands, run:<br />
{{bc|<br />
$hamachi ?<br />
}}<br />
<br />
'''Note:''' Make sure you change the status of the channel(s) you are in to "online" if you want to perform any network actions on computers in there.<br />
<br />
===Systemd===<br />
<br />
The {{AUR|logmein-hamachi}} AUR package also includes a nice little [[Systemd]] daemon.<br />
<br />
If you feel like it, you can set Hamachi to start at every boot with Systemd:<br />
<br />
{{Bc|<br />
systemctl enable logmein-hamachi<br />
}} <br />
<br />
To start the Hamachi Daemon immediately, use this command:<br />
<br />
{{Bc|<br />
systemctl start logmein-hamachi<br />
}}<br />
<br />
{{Note|If for some reason, hamachi doesn't have a Systemd daemon, you can use [[Services#Logmein_Hamachi|one from here]].}}<br />
<br />
===init.scripts (depreciated)===<br />
<br />
{{Note|If you run a newer Arch system, use the Systemd method above. This section below can only be applied for init.scripts.}}<br />
<br />
You can run Hamachi as a daemon this way:<br />
<br />
Copy your configuration to ''/root'' directory:<br />
<br />
{{bc|<br />
cp -R ~/.hamachi /root/<br />
}}<br />
<br />
Create a script in ''/etc/rc.d/'' called ''hamachi'' using your preferred editor:<br />
<br />
{{bc|<nowiki><br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
DAEMON=/usr/bin/hamachi<br />
NAME=hamachi<br />
DESC="Hamachi VPN client"<br />
PID_FILE=/var/run/daemons/hamachi<br />
<br />
case "$1" in<br />
start)<br />
#Check for running tuntap, start when not running<br />
ck_daemon tuntap && /etc/rc.d/tuntap start<br />
stat_busy "Starting $DESC"<br />
$DAEMON -c /root/.hamachi $1 > /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
add_daemon $NAME<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping $DESC"<br />
[ -f $PID_FILE ] && $DAEMON -c /root/.hamachi $1 > /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
rm_daemon $NAME<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
$0 start<br />
;;<br />
*)<br />
echo "usage: $0 {start|stop|restart}"<br />
;;<br />
esac<br />
exit 0<br />
</nowiki>}}<br />
<br />
Remember to add ''hamachi'' to your ''daemons'' array in ''/etc/rc.conf'', it should be put after ''tuntap''.<br />
<br />
And do not forget to: <br />
<br />
{{bc|<br />
chmod +x /etc/rc.d/hamachi<br />
}}<br />
<br />
==GUI==<br />
Various GUI frontends for Hamachi are available in the AUR.<br />
<br />
For Hamachi 1:<br />
<br />
*haguichi (Gtk2, mono)<br />
*ghamachi (Gtk2)<br />
*hamachi-gui (Gtk2)<br />
<br />
For Hamachi 2 (beta):<br />
<br />
*quamachi (Qt4)<br />
*haguichi (Gtk2, mono)<br />
<br />
==Troubleshooting==<br />
===Hamachi times out soon after launch===<br />
If hamachi stops working after a short period of time it can be that the client is timing out. Create ~/.hamachi/config and add the following to it:<br />
<br />
{{bc|<br />
KeepAlive 10<br />
}}<br />
<br />
===If you have problems connecting to some hosts===<br />
Check if they are using Hamachi 2. If that is the case, then it is a known issue with the Hamachi 2 client connecting to the Hamachi Linux client.<br />
<br />
===''/etc/init.d/logmein-hamachi'' is not found===<br />
Replace that path with ''/etc/rc.d/logmein-hamachi''.<br />
<br />
===Error when trying to run hamachi-init===<br />
If there is an error while trying to load libstdc++.so.5, you want to install it. This library can be found in the ''extra'' repository, so you can install it by running {{ic|pacman -S libstdc++5}}.<br />
<br />
If you get an error while trying to load libcrypto.so.0.9.7, a temporary solution is to create a link from /usr/lib/libcrypto.so.0.9.7 to /usr/lib/libcrypto.so by running {{ic|ln -s /usr/lib/libcrypto.so /usr/lib/libcrypto.so.0.9.7}}.<br />
<br />
==See also==<br />
* [https://secure.logmein.com/products/hamachi/ Project home page]</div>Iruelhttps://wiki.archlinux.org/index.php?title=Hamachi&diff=245342Hamachi2013-01-28T04:25:04Z<p>Iruel: /* init.scripts (depreciated) */</p>
<hr />
<div>[[it:Hamachi]]<br />
<br />
[[Category:Virtual Private Network]]<br />
{{Poor writing|Needs to be updated for [[Help:Style]] compliance.}}<br />
[[Wikipedia:Hamachi (software)|Hamachi]] is a proprietary (closed source) commercial VPN software. With Hamachi you can organize two or more computers with an Internet connection into their own virtual network for direct secure communication.<br />
<br />
== Installation ==<br />
Version 2 of the Linux Hamachi client exists and is currently in beta. It is available from [https://secure.logmein.com/US/labs/ the labs page on the Hamachi website]; however, the vendor's tarball requires LSB and will not install correctly. You should use the {{AUR|logmein-hamachi}} package from the [[AUR]] instead.<br />
<br />
==Configuration==<br />
=== Set up tun ===<br />
<br />
To run Hamachi you need /dev/net/tun.<br />
<br />
This is created by the tun module. As root, run:<br />
{{bc|<br />
modprobe tun<br />
}}<br />
<br />
Or you can manually create /dev/net/tun by running:<br />
{{bc|<br />
mkdir /dev/net<br />
mknod /dev/net/tun c 10 200<br />
}}<br />
<br />
Also, make sure to add the "tun" modules to rc.conf so that /dev/net/tun is created next time your computer turns on.<br />
<br />
{{bc|1=<br />
MODULES=(... ... ... ... ... tun ... ... ...)<br />
}}<br />
<br />
<br />
=== Set Up Tun For Systemd ===<br />
<br />
Being as section above can only be applied for init.scripts, in order to install the module, as root run:<br />
<br />
{{bc|<br />
modprobe tun<br />
}}<br />
<br />
Then add tun to the list of modules by using your favorite text editor and running<br />
{{bc|# vi /etc/modules-load.d/tun.conf |<br />
#Load tun module at boot.<br />
tun<br />
}}<br />
<br />
=== Hamachi 2 (beta) ===<br />
<br />
Hamachi 2 is configured in {{ic|/var/lib/logmein-hamachi/h2-engine-override.cfg}} (create that file if it doesn't exist).<br />
Unfortunately, it isn't easy to find a comprehensive list of possible configuration options, so here are a few that you can use.<br />
<br />
====Using the hamachi command line tool as a regular user====<br />
In order to use the {{ic|hamachi}} command line tool as a regular user, add the following line to the configuration file:<br />
{{bc|Ipc.User YourUserNameHere}}<br />
<br />
====Automatically setting a custom nickname====<br />
Normally, Hamachi uses your system's hostname as the nickname that other Hamachi users will see. If you want to automatically set a custom nickname every time Hamachi starts, add the following line to the configuration file:<br />
{{bc|Setup.AutoNick YourNicknameHere}}<br />
<br />
You can also manually set a nickname using the {{ic|hamachi}} command line tool:<br />
{{bc|# hamachi set-nick YourNicknameHere}}<br />
<br />
However, this needs to be done every time Hamachi is (re-)started, so if you always want to use the same nickname, setting it automatically (as explained above) is probably easier.<br />
<br />
==Running Hamachi==<br />
<br />
Start up the (matt) daemon<br />
{{bc|<br />
$hamachi start<br />
}}<br />
Now you have a whole bunch of commands at your disposal. These are in no particular order and are fairly self explanatory. <br />
<br />
{{bc|<br />
$hamachi set-nick bob<br />
$hamachi login<br />
$hamachi create my-net secretpassword<br />
$hamachi go-online my-net<br />
$hamachi list<br />
$hamachi go-offline my-net<br />
}}<br />
<br />
To get a list of all the commands, run:<br />
{{bc|<br />
$hamachi ?<br />
}}<br />
<br />
'''Note:''' Make sure you change the status of the channel(s) you are in to "online" if you want to perform any network actions on computers in there.<br />
<br />
===Systemd===<br />
<br />
If you feel like it, you can set Hamachi to start at every boot with Systemd:<br />
<br />
{{Bc|<br />
systemctl enable logmein-hamachi<br />
}} <br />
<br />
To start the Hamachi Daemon immediately, use this command:<br />
<br />
{{Bc|<br />
systemctl start logmein-hamachi<br />
}}<br />
<br />
===init.scripts (depreciated)===<br />
<br />
{{Note|If you run a newer Arch system, use the Systemd method above. This section below can only be applied for init.scripts.}}<br />
<br />
You can run Hamachi as a daemon this way:<br />
<br />
Copy your configuration to ''/root'' directory:<br />
<br />
{{bc|<br />
cp -R ~/.hamachi /root/<br />
}}<br />
<br />
Create a script in ''/etc/rc.d/'' called ''hamachi'' using your preferred editor:<br />
<br />
{{bc|<nowiki><br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
DAEMON=/usr/bin/hamachi<br />
NAME=hamachi<br />
DESC="Hamachi VPN client"<br />
PID_FILE=/var/run/daemons/hamachi<br />
<br />
case "$1" in<br />
start)<br />
#Check for running tuntap, start when not running<br />
ck_daemon tuntap && /etc/rc.d/tuntap start<br />
stat_busy "Starting $DESC"<br />
$DAEMON -c /root/.hamachi $1 > /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
add_daemon $NAME<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping $DESC"<br />
[ -f $PID_FILE ] && $DAEMON -c /root/.hamachi $1 > /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
rm_daemon $NAME<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
$0 start<br />
;;<br />
*)<br />
echo "usage: $0 {start|stop|restart}"<br />
;;<br />
esac<br />
exit 0<br />
</nowiki>}}<br />
<br />
Remember to add ''hamachi'' to your ''daemons'' array in ''/etc/rc.conf'', it should be put after ''tuntap''.<br />
<br />
And do not forget to: <br />
<br />
{{bc|<br />
chmod +x /etc/rc.d/hamachi<br />
}}<br />
<br />
==GUI==<br />
Various GUI frontends for Hamachi are available in the AUR.<br />
<br />
For Hamachi 1:<br />
<br />
*haguichi (Gtk2, mono)<br />
*ghamachi (Gtk2)<br />
*hamachi-gui (Gtk2)<br />
<br />
For Hamachi 2 (beta):<br />
<br />
*quamachi (Qt4)<br />
*haguichi (Gtk2, mono)<br />
<br />
==Troubleshooting==<br />
===Hamachi times out soon after launch===<br />
If hamachi stops working after a short period of time it can be that the client is timing out. Create ~/.hamachi/config and add the following to it:<br />
<br />
{{bc|<br />
KeepAlive 10<br />
}}<br />
<br />
===If you have problems connecting to some hosts===<br />
Check if they are using Hamachi 2. If that is the case, then it is a known issue with the Hamachi 2 client connecting to the Hamachi Linux client.<br />
<br />
===''/etc/init.d/logmein-hamachi'' is not found===<br />
Replace that path with ''/etc/rc.d/logmein-hamachi''.<br />
<br />
===Error when trying to run hamachi-init===<br />
If there is an error while trying to load libstdc++.so.5, you want to install it. This library can be found in the ''extra'' repository, so you can install it by running {{ic|pacman -S libstdc++5}}.<br />
<br />
If you get an error while trying to load libcrypto.so.0.9.7, a temporary solution is to create a link from /usr/lib/libcrypto.so.0.9.7 to /usr/lib/libcrypto.so by running {{ic|ln -s /usr/lib/libcrypto.so /usr/lib/libcrypto.so.0.9.7}}.<br />
<br />
==See also==<br />
* [https://secure.logmein.com/products/hamachi/ Project home page]</div>Iruelhttps://wiki.archlinux.org/index.php?title=Hamachi&diff=245341Hamachi2013-01-28T04:23:47Z<p>Iruel: /* Running Hamachi */</p>
<hr />
<div>[[it:Hamachi]]<br />
<br />
[[Category:Virtual Private Network]]<br />
{{Poor writing|Needs to be updated for [[Help:Style]] compliance.}}<br />
[[Wikipedia:Hamachi (software)|Hamachi]] is a proprietary (closed source) commercial VPN software. With Hamachi you can organize two or more computers with an Internet connection into their own virtual network for direct secure communication.<br />
<br />
== Installation ==<br />
Version 2 of the Linux Hamachi client exists and is currently in beta. It is available from [https://secure.logmein.com/US/labs/ the labs page on the Hamachi website]; however, the vendor's tarball requires LSB and will not install correctly. You should use the {{AUR|logmein-hamachi}} package from the [[AUR]] instead.<br />
<br />
==Configuration==<br />
=== Set up tun ===<br />
<br />
To run Hamachi you need /dev/net/tun.<br />
<br />
This is created by the tun module. As root, run:<br />
{{bc|<br />
modprobe tun<br />
}}<br />
<br />
Or you can manually create /dev/net/tun by running:<br />
{{bc|<br />
mkdir /dev/net<br />
mknod /dev/net/tun c 10 200<br />
}}<br />
<br />
Also, make sure to add the "tun" modules to rc.conf so that /dev/net/tun is created next time your computer turns on.<br />
<br />
{{bc|1=<br />
MODULES=(... ... ... ... ... tun ... ... ...)<br />
}}<br />
<br />
<br />
=== Set Up Tun For Systemd ===<br />
<br />
Being as section above can only be applied for init.scripts, in order to install the module, as root run:<br />
<br />
{{bc|<br />
modprobe tun<br />
}}<br />
<br />
Then add tun to the list of modules by using your favorite text editor and running<br />
{{bc|# vi /etc/modules-load.d/tun.conf |<br />
#Load tun module at boot.<br />
tun<br />
}}<br />
<br />
=== Hamachi 2 (beta) ===<br />
<br />
Hamachi 2 is configured in {{ic|/var/lib/logmein-hamachi/h2-engine-override.cfg}} (create that file if it doesn't exist).<br />
Unfortunately, it isn't easy to find a comprehensive list of possible configuration options, so here are a few that you can use.<br />
<br />
====Using the hamachi command line tool as a regular user====<br />
In order to use the {{ic|hamachi}} command line tool as a regular user, add the following line to the configuration file:<br />
{{bc|Ipc.User YourUserNameHere}}<br />
<br />
====Automatically setting a custom nickname====<br />
Normally, Hamachi uses your system's hostname as the nickname that other Hamachi users will see. If you want to automatically set a custom nickname every time Hamachi starts, add the following line to the configuration file:<br />
{{bc|Setup.AutoNick YourNicknameHere}}<br />
<br />
You can also manually set a nickname using the {{ic|hamachi}} command line tool:<br />
{{bc|# hamachi set-nick YourNicknameHere}}<br />
<br />
However, this needs to be done every time Hamachi is (re-)started, so if you always want to use the same nickname, setting it automatically (as explained above) is probably easier.<br />
<br />
==Running Hamachi==<br />
<br />
Start up the (matt) daemon<br />
{{bc|<br />
$hamachi start<br />
}}<br />
Now you have a whole bunch of commands at your disposal. These are in no particular order and are fairly self explanatory. <br />
<br />
{{bc|<br />
$hamachi set-nick bob<br />
$hamachi login<br />
$hamachi create my-net secretpassword<br />
$hamachi go-online my-net<br />
$hamachi list<br />
$hamachi go-offline my-net<br />
}}<br />
<br />
To get a list of all the commands, run:<br />
{{bc|<br />
$hamachi ?<br />
}}<br />
<br />
'''Note:''' Make sure you change the status of the channel(s) you are in to "online" if you want to perform any network actions on computers in there.<br />
<br />
===Systemd===<br />
<br />
If you feel like it, you can set Hamachi to start at every boot with Systemd:<br />
<br />
{{Bc|<br />
systemctl enable logmein-hamachi<br />
}} <br />
<br />
To start the Hamachi Daemon immediately, use this command:<br />
<br />
{{Bc|<br />
systemctl start logmein-hamachi<br />
}}<br />
<br />
===init.scripts (depreciated)===<br />
<br />
{{Note|This section below can only be applied for init.scripts.}}<br />
<br />
You can run Hamachi as a daemon this way:<br />
<br />
Copy your configuration to ''/root'' directory:<br />
<br />
{{bc|<br />
cp -R ~/.hamachi /root/<br />
}}<br />
<br />
Create a script in ''/etc/rc.d/'' called ''hamachi'' using your preferred editor:<br />
<br />
{{bc|<nowiki><br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
DAEMON=/usr/bin/hamachi<br />
NAME=hamachi<br />
DESC="Hamachi VPN client"<br />
PID_FILE=/var/run/daemons/hamachi<br />
<br />
case "$1" in<br />
start)<br />
#Check for running tuntap, start when not running<br />
ck_daemon tuntap && /etc/rc.d/tuntap start<br />
stat_busy "Starting $DESC"<br />
$DAEMON -c /root/.hamachi $1 > /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
add_daemon $NAME<br />
stat_done<br />
fi<br />
;;<br />
stop)<br />
stat_busy "Stopping $DESC"<br />
[ -f $PID_FILE ] && $DAEMON -c /root/.hamachi $1 > /dev/null<br />
if [ $? -gt 0 ]; then<br />
stat_fail<br />
else<br />
rm_daemon $NAME<br />
stat_done<br />
fi<br />
;;<br />
restart)<br />
$0 stop<br />
$0 start<br />
;;<br />
*)<br />
echo "usage: $0 {start|stop|restart}"<br />
;;<br />
esac<br />
exit 0<br />
</nowiki>}}<br />
<br />
Remember to add ''hamachi'' to your ''daemons'' array in ''/etc/rc.conf'', it should be put after ''tuntap''.<br />
<br />
And do not forget to: <br />
<br />
{{bc|<br />
chmod +x /etc/rc.d/hamachi<br />
}}<br />
<br />
==GUI==<br />
Various GUI frontends for Hamachi are available in the AUR.<br />
<br />
For Hamachi 1:<br />
<br />
*haguichi (Gtk2, mono)<br />
*ghamachi (Gtk2)<br />
*hamachi-gui (Gtk2)<br />
<br />
For Hamachi 2 (beta):<br />
<br />
*quamachi (Qt4)<br />
*haguichi (Gtk2, mono)<br />
<br />
==Troubleshooting==<br />
===Hamachi times out soon after launch===<br />
If hamachi stops working after a short period of time it can be that the client is timing out. Create ~/.hamachi/config and add the following to it:<br />
<br />
{{bc|<br />
KeepAlive 10<br />
}}<br />
<br />
===If you have problems connecting to some hosts===<br />
Check if they are using Hamachi 2. If that is the case, then it is a known issue with the Hamachi 2 client connecting to the Hamachi Linux client.<br />
<br />
===''/etc/init.d/logmein-hamachi'' is not found===<br />
Replace that path with ''/etc/rc.d/logmein-hamachi''.<br />
<br />
===Error when trying to run hamachi-init===<br />
If there is an error while trying to load libstdc++.so.5, you want to install it. This library can be found in the ''extra'' repository, so you can install it by running {{ic|pacman -S libstdc++5}}.<br />
<br />
If you get an error while trying to load libcrypto.so.0.9.7, a temporary solution is to create a link from /usr/lib/libcrypto.so.0.9.7 to /usr/lib/libcrypto.so by running {{ic|ln -s /usr/lib/libcrypto.so /usr/lib/libcrypto.so.0.9.7}}.<br />
<br />
==See also==<br />
* [https://secure.logmein.com/products/hamachi/ Project home page]</div>Iruelhttps://wiki.archlinux.org/index.php?title=PulseAudio&diff=226905PulseAudio2012-10-05T07:23:01Z<p>Iruel: /* Glitches, skips or crackling */</p>
<hr />
<div>[[Category:Audio/Video]]<br />
[[cs:PulseAudio]]<br />
[[es:PulseAudio]]<br />
[[fr:PulseAudio]]<br />
[[it:PulseAudio]]<br />
[[pt:PulseAudio]]<br />
[[ru:PulseAudio]]<br />
[[tr:PulseAudio]]<br />
{{Article summary start}}<br />
{{Article summary text|'''PulseAudio''' is a general purpose sound server. For a list of features, see [[Wikipedia:PulseAudio#Features]].}}<br />
{{Article summary heading|Related Articles}}<br />
{{Article summary wiki|PulseAudio/Examples}}<br />
{{Article summary end}}<br />
<br />
==Installation==<br />
*Required PKG: {{Pkg|pulseaudio}}<br />
*Optional GUIs: {{Pkg|paprefs}} and {{Pkg|pavucontrol}}<br />
*Optional volume control via mapped keyboard keys: {{AUR|pulseaudio_ctl}}<br />
*Optional console mixer: {{AUR|ponymix-git}} and {{AUR|pamixer-git}}<br />
*Optional system tray icon: {{AUR|pasystray-git}}<br />
*Optional kde plasma applet: {{AUR|kdeplasma-applets-veromix}}<br />
{{Note|Add the users to audio group and (if applicable) re-login.}}<br />
<br />
==Running==<br />
{{Note|Pulseaudio requires dbus to function. This is very likely already added in the daemons array, if not consider adding it.}}<br />
{{Note|Most X11 environments start pulseaudio automatically with the X11 session.}}<br />
<br />
In the unlikely event that pulseaudio is not automatically called upon entering X, it can can be started with:<br />
$ pulseaudio --start<br />
<br />
PulseAudio can be stopped with:<br />
$ pulseaudio --kill<br />
<br />
==Equalizer==<br />
<br />
Newer pulseaudio versions have an intergrated 10-band equalizer system. In order to use the equalizer do the following:<br />
<br />
===Load equalizer sink module===<br />
<br />
$ pactl load-module module-equalizer-sink<br />
<br />
===Install and run the gui frontend===<br />
<br />
# pacman -S --needed python2-pyqt<br />
<br />
$ qpaeq<br />
<br />
{{Note|If qpaeq has no effect, install pavucontrol and change "ALSA Playback on" to "FFT based equalizer on ..." while the media player is running.}}<br />
<br />
===Load equalizer module on every boot===<br />
<br />
Edit the file {{ic|/etc/pulse/default.pa}} with your favorite editor and append the following lines:<br />
<br />
### Load the integrated pulseaudio equalizer module<br />
load-module module-equalizer-sink<br />
<br />
==Backend Configuration==<br />
===ALSA===<br />
*Recommended PKG: {{Pkg|pulseaudio-alsa}}<br />
*Optional PKGs: {{Pkg|lib32-libpulse}} and {{Pkg|lib32-alsa-plugins}}<br />
<br />
{{Note|Optional PKGs are needed only if running x86_64 and wanting to have sound for 32 bit programs (like Wine).}}<br />
<br />
For the applications that do not support PulseAudio and support ALSA it is '''recommended''' to install the PulseAudio plugin for ALSA. This package also contains the necessary {{ic|/etc/asound.conf}} for configuring ALSA to use PulseAudio.<br />
<br />
To prevent applications from using ALSA's OSS emulation and bypassing Pulseaudio (thereby preventing other applications from playing sound), make sure the module {{ic|snd_pcm_oss}} is not in the {{ic|MODULES}} array in {{ic|/etc/[[rc.conf]]}}. If it is currently loaded, disable it by executing:<br />
# rmmod snd_pcm_oss<br />
<br />
===OSS===<br />
There are multiple ways of making OSS-only programs play to PulseAudio:<br />
<br />
===={{Pkg|ossp}}====<br />
Start ossp with:<br />
rc.d start osspd<br />
<br />
Afterwards, add it to DAEMONS in rc.conf.<br />
<br />
====padsp wrapper (part of PulseAudio)====<br />
Programs using OSS can work with PulseAudio by starting it with padsp:<br />
<br />
$ padsp OSSprogram<br />
A few examples:<br />
$ padsp aumix<br />
$ padsp sox foo.wav -t ossdsp /dev/dsp<br />
<br />
One can also rename the program OSSprogram-bin and replace it with a script like this: <br />
{{hc|/usr/bin/OSSProgram|<nowiki><br />
#!/bin/sh<br />
if test -x /usr/bin/padsp; then<br />
exec /usr/bin/padsp /usr/bin/OSSprogram-bin "$@"<br />
else<br />
exec /usr/bin/OSSprogram "$@"<br />
fi<br />
</nowiki>}}<br />
<br />
===GStreamer===<br />
To make [[GStreamer]] use PulseAudio, you need to install {{Pkg|gstreamer0.10-good-plugins}}, execute {{ic|gstreamer-properties}} (part of ''gnome-media'' package) and select ''PulseAudio Sound Server'' in both Audio Input and Output. Alternatively, this can be done by setting the gconf variables {{ic|/system/gstreamer/0.10/default/audiosink}} to ''pulsesink'' and {{ic|/system/gstreamer/0.10/default/audiosrc}} to ''pulsesrc'':<br />
$ gconftool-2 -t string --set /system/gstreamer/0.10/default/audiosink pulsesink<br />
$ gconftool-2 -t string --set /system/gstreamer/0.10/default/audiosrc pulsesrc<br />
<br />
Some applications (like Rhythmbox) ignore the ''audiosink'' property, but rely instead on ''musicaudiosink'', which cannot be configured using {{ic|gstreamer-properties}} but needs to be manually set using {{ic|gconf-editor}} or the {{ic|gconftool-2}}:<br />
$ gconftool-2 -t string --set /system/gstreamer/0.10/default/musicaudiosink pulsesink<br />
<br />
===OpenAL===<br />
OpenAL Soft should use PulseAudio by default, but can be explicitly configured to do so: {{hc|/etc/openal/alsoft.conf|2=drivers=pulse,alsa}}<br />
<br />
===libao===<br />
Edit the libao configuration file:<br />
{{hc|/etc/libao.conf|2=default_driver=pulse}}<br />
<br />
===ESD===<br />
PulseAudio is a drop-in replacement for the enlightened sound daemon (ESD). While PulseAudio is running, ESD clients should be able to output to it without configuration.<br />
<br />
==Desktop Environments==<br />
===General X11===<br />
{{Note|As mentioned previously, PulseAudio is very likely launched automatically via either {{ic|/etc/X11/xinit/xinitrc.d/pulseaudio}} or the files in {{ic|/etc/xdg/autostart/}} if users have some DE installed.}}<br />
<br />
Check to see if PulseAudio is running:<br />
<br />
$ ps aux | grep pulse<br />
facade 1794 0.0 0.0 360464 6532 ? S<l 15:33 0:00 /usr/bin/pulseaudio --start<br />
facade 1827 0.0 0.0 68888 2608 ? S 15:33 0:00 /usr/lib/pulse/gconf-helper<br />
<br />
If Pulseaudio is not running and users are using X, the following will start PulseAudio with the needed the X11 plugins manually:<br />
$ start-pulseaudio-x11<br />
<br />
If you are not running Gnome, KDE or XFCE and your {{ic|~/.xinitrc}} does not source the scripts in {{ic|/etc/X11/xinit/xinitrc.d}} (such as is done in the example file {{ic|/etc/skel/.xinitrc}}) then you can launch PulseAudio on boot by adding the following line to ~/.xinitrc:<br />
/usr/bin/start-pulseaudio-x11<br />
<br />
===GNOME===<br />
As of GNOME 3, GNOME fully integrates with PulseAudio and no extra configuration is needed.<br />
<br />
===KDE 3===<br />
PulseAudio is ''not'' a drop-in replacement for aRts. Users of KDE 3 cannot use PulseAudio. However note, recent versions of puleaudio may have eliminated the prohibition:<br />
<br />
See: http://www.pulseaudio.org/wiki/PerfectSetup KDE 3 uses the artsd sound server by default. However, artsd itself can be configured to use an Esound backend. Edit kcmartsrc (either in /etc/kde or /usr/share/config for global configuration or .kde/share/config to configure only one user) like this:<br />
<br />
[Arts]<br />
Arguments=\s-F 10 -S 4096 -a esd -n -s 1 -m artsmessage -c drkonqi -l 3 -f<br />
NetworkTransparent=true<br />
SuspendTime=1<br />
<br />
===KDE 4 and Qt4===<br />
PulseAudio, it will be used by KDE4/Qt4 applications. For more information see the [http://www.pulseaudio.org/wiki/KDE KDE page in the PulseAudio wiki].<br />
<br />
One useful tidbit from that page is to add {{ic|load-module module-device-manager}} to {{ic|/etc/pulse/default.pa}}.<br />
<br />
Additionally, the {{AUR|kdeplasma-applets-veromix}} is available in the AUR as a KDE alternative to pavucontrol.<br />
<br />
===XFCE4===<br />
Applications running under XFCE4 can take advantage of Pulseaudio. To manage Pulseaudio settings you can use {{Pkg|pavucontrol}}.<br />
<br />
==Applications==<br />
===Audacious===<br />
[[Audacious]] natively supports PulseAudio. In order to use it, set Audacious Preferences -> Audio -> Current output plugin to 'PulseAudio Output Plugin'.<br />
<br />
===Java/OpenJDK 6===<br />
Create a wrapper for the java executable using padsp as seen on the [[Java#Java_sound_with_Pulseaudio|Java sound with Pulseaudio]] page.<br />
<br />
===Music Player Daemon (MPD)===<br />
[http://mpd.wikia.com/wiki/PulseAudio configure] [[MPD]] to use PulseAudio.<br />
<br />
===MPlayer===<br />
[[MPlayer]] natively supports PulseAudio output with the "{{ic|-ao pulse}}" option. It can also be configured to default to PulseAudio output, in {{ic|~/.mplayer/config}} for per-user, or {{ic|/etc/mplayer/mplayer.conf}} for system-wide:<br />
{{hc|/etc/mplayer/mplayer.conf|2=ao=pulse}}<br />
<br />
===Skype (x86_64 only)===<br />
Install {{Pkg|lib32-libpulse}}, otherwise the following error will occur when trying to initiate a call: "Problem with Audio Playback".<br />
<br />
==Troubleshooting==<br />
===No sound after install===<br />
<br />
====Muted audio device====<br />
If one experiences no audio output via any means while using ALSA, attempt to unmute the sound card. To do this, launch alsamixer and make sure each column has a green 00 under it (this can be toggled by pressing 'm')<br />
$ alsamixer -c 0<br />
<br />
====Bad configuration files====<br />
If after starting pulseaudio, the system outputs no sound, it may be necessary to delete the contents of {{ic|~/.pulse}}. Pulseaudio will automatically create new configuration files on its next start.<br />
<br />
====Flash Content====<br />
Since Adobe Flash does not directly support PulseAudio the recommended way is to [https://wiki.archlinux.org/index.php/PulseAudio#ALSA configure ALSA to use the virtual PulseAudio soundcard].<br />
<br />
Alternatively no sound from flash content may be fixed by installing {{AUR|libflashsupport-pulse}} from the AUR (not recommended as it seems to make the flash plugin crash rather frequently).<br />
<br />
{{Pkg|lib32-libpulse}} is another PKG users can consider if on a 64-bit Arch and using [multilib]'s flashplugin:<br />
<br />
# pacman -S lib32-libcanberra-pulse lib32-alsa-plugins<br />
<br />
====No cards====<br />
If PulseAudio starts, run {{ic|pacmd list}}. If no cards are reported, make sure that the ALSA devices are not in use:<br />
$ fuser -v /dev/snd/*<br />
$ fuser -v /dev/dsp<br />
<br />
Make sure any applications using the pcm or dsp files are shut down before restarting PulseAudio.<br />
<br />
====The only device shown is "dummy output"====<br />
This may be caused by different reasons, one of them being the .asoundrc file in $HOME is taking precedence over the systemwide /etc/asound.conf.<br />
<br />
The user file is modified also by the tool '''asoundconf''' or by its graphical variant '''asoundconf-gtk''' (the latter is named "Default sound card" in the menu) as soon as it runs. Prevent the effects of .asoundrc altogether by commenting the last line like this:<br />
<br />
#</home/<yourusername>/.asoundrc.asoundconf><br />
<br />
====KDE4====<br />
It may be that another output device set as preferred in phonon. Make sure that every setting reflects the preferred output device at the top, and check the playback streams tab in kmix to make sure that applications are using the device for output.<br />
<br />
===Bluetooth headset replay problems===<br />
Some user [https://bbs.archlinux.org/viewtopic.php?id=117420 report] huge delays or even no sound when the bluetooth connection does not send any data. This is due to an idle-suspend-module that puts the related sinks/sources automatically into suspend. As this can cause problems with headset, the responsible module can be deactivated. <br />
<br />
1. cp /etc/pulse/default.pa ~/.pulse/default.pa<br />
2. comment out the "load-module module-suspend-on-idle" line in ~/.pulse/default.pa<br />
3. pulseaudio -k && pulseaudio --start<br />
<br />
[http://robert.orzanna.de/2011/08/10/prevent-idle-suspend-with-a-bluetooth-headset-and-a2dp/ More information]<br />
<br />
===Automatically switch to Bluetooth or USB headset===<br />
Add the following to your /etc/pulse/default.pa:<br />
<br />
# automatically switch to newly-connected devices<br />
load-module module-switch-on-connect<br />
<br />
===Pulse overwrites ALSA settings===<br />
Pulseaudio usually overwrites the ALSA settings- for example set with alsamixer- at start up, even when the alsa daemon is loaded. Since there seems to be no other way to restrict this behaviour, a workaround is to restore the alsa settings again after pulseaudio had started. Add the following command to {{ic|.xinitrc}} {{ic|.bash_login}} or any other autostart file:<br />
<br />
restore_alsa() {<br />
while [ -z "`pidof pulseaudio`" ]; do<br />
sleep 0.5<br />
done<br />
alsactl -f /var/lib/alsa/asound.state restore <br />
}<br />
restore_alsa &<br />
<br />
===Daemon startup failed===<br />
Try resetting PulseAudio. To do that:<br />
$ pulseaudio --kill<br />
$ killall pulseaudio<br />
$ killall -9 pulseaudio<br />
$ rm -rf ~/.pulse*<br />
$ rm -rf /tmp/pulse*<br />
<br />
Afterwards, start PulseAudio again.<br />
<br />
===padevchooser===<br />
If one cannot launch the PulseAudio Device Chooser, first (re)start the Avahi daemon as follows:<br />
$ rc.d restart avahi-daemon<br />
<br />
===Glitches, skips or crackling===<br />
The newer implementation of PulseAudio sound server uses a timer-based audio scheduling instead of the traditional interrupt-driven approach. <br />
<br />
Timer-based scheduling may expose issues in some ALSA drivers. On the other hand, other drivers might be glitchy without it on, so check to see what works on your system. <br />
<br />
To turn timer-based scheduling off, replace the line:<br />
load-module module-udev-detect <br />
in {{ic|/etc/pulse/default.pa}} by:<br />
load-module module-udev-detect tsched=0<br />
Then restart the PulseAudio server.<br />
<br />
Do the reverse to enable timer-based scheduling, if not already enabled by default.<br />
<br />
Please report any such cards to [http://pulseaudio.org/wiki/BrokenSoundDrivers PulseAudio Broken Sound Driver page]<br />
<br />
===Laggy sound===<br />
This issue is due to incorrect buffer sizes.<br />
Edit {{ic|/etc/pulse/daemon.conf}}<br />
<br />
Either disable any modifications (if any) to these entries, or, if issue still exists, uncomment and change them in the following way:<br />
default-fragments = 8<br />
default-fragment-size-msec = 5<br />
<br />
===Choppy, overdriven sound===<br />
Choppy sound in pulsaudio can result from wrong settings for the sample rate in {{Ic|/etc/pulse/daemon.conf}}. Try changing the line <br />
; default-sample-rate = 44100<br />
to <br />
default-sample-rate = 48000<br />
and restart the PulseAudio server.<br />
<br />
If one experiences choppy sound in applications using openAL, change the sample rate in /etc/openal/alsoft.conf:<br />
frequency = 48000<br />
<br />
Setting the PCM volume above 0dB can cause clipping of the audio signal. Running {{ic|alsamixer -c0}} will allow you to see if this is the problem and if so fix it.<br />
<br />
===Volume adjustment does not work properly===<br />
Check:<br />
{{ic|/usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common}}<br />
<br />
If the volume does not appear to increment/decrement properly using {{ic|alsamixer}} or {{ic|amixer}}, it may be due to pulseaudio having a larger number of increments (65537 to be exact). Try using larger values when changing volume (e.g. {{ic|amixer set Master 655+}}).<br />
<br />
===Volume gets louder every time a new application is started===<br />
Per default, it seems as if changing the volume in an application sets the global system volume to that level instead of only affecting the respective application. Applications setting their volume on startup will therefore cause the system volume to "jump".<br />
<br />
Fix this by uncommenting <br />
flat-volumes = no<br />
in<br />
/etc/pulse/daemon.conf<br />
and then restarting PulseAudio by executing<br />
pulseaudio --kill && pulseaudio --start<br />
<br />
When Pulse comes back after a few seconds, applications will not alter the global system volume anymore but have their own volume level again.<br />
<br />
{{Note|A previously installed and removed pulseaudio-equalizer may leave behind remnants of the setup in {{Ic|$HOME/.pulse/default.pa}} which can also cause maximized volume trouble. Comment that out as needed.}}<br />
<br />
===No mic on ThinkPad T400/T500/T420===<br />
Run<br />
alsamixer -c 0<br />
Maximize the volume of/unmute the "Internal Mic".<br />
<br />
Once you see the device with<br />
arecord -l<br />
you might still need to adjust the settings. The microphone and the audio jack are duplexed. Set the configuration of the internal audio in pavucontrol to ''Analog Stereo Duplex''.<br />
<br />
===No mic input on Acer Aspire One===<br />
Install pavucontrol, unlink the microphone channels and turn down the left one to 0.<br />
Reference: http://getsatisfaction.com/jolicloud/topics/deaf_internal_mic_on_acer_aspire_one#reply_2108048<br />
<br />
===Sound output is only mono on M-Audio Audiophile 2496 sound card===<br />
Add the following to /etc/pulseaudio/default.pa:<br />
load-module module-alsa-sink sink_name=delta_out device=hw:M2496 format=s24le channels=10 channel_map=left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7<br />
load-module module-alsa-source source_name=delta_in device=hw:M2496 format=s24le channels=12 channel_map=left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9<br />
set-default-sink delta_out<br />
set-default-source delta_in<br />
<br />
===Static Noise in Microphone Recording===<br />
If we are getting static noise in skype, gnome-sound-recorder, arecord, etc.'s recordings then the sound card samplerate is incorrect. That is why there is static noise in linux microphone recordings. To fix this We need to set sample-rate in /etc/pulse/daemon.conf for the sound hardware.<br />
<br />
====1. Determine soundcards in the system====<br />
This requires alsa-utils and related packages to be installed:<br />
$ arecord --list-devices<br />
<br />
output:<br />
**** List of CAPTURE Hardware Devices ****<br />
card 0: Intel [HDA Intel], device 0: ALC888 Analog [ALC888 Analog]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: Intel [HDA Intel], device 2: ALC888 Analog [ALC888 Analog]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
<br />
soundcard is hw:0,0<br />
<br />
====2. Determine sampling-rate of the sound card====<br />
arecord -f dat -r 60000 -D hw:0,0 -d 5 test.wav<br />
<br />
output:<br />
"Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 60000 Hz, Stereo<br />
Warning: rate is not accurate (requested = 60000Hz, '''got = 96000Hz''')<br />
please, try the plug plugin<br />
<br />
observe, the '''got = 96000Hz''', this is the max sample-rate of our card.<br />
<br />
====3. Setting the soundcard's sampling rate into pulse audio configuration====<br />
the default sample-rate in pulseaudio is<br />
grep "sample-rate" /etc/pulse/daemon.conf<br />
<br />
output:<br />
; default-sample-rate = 44100<br />
<br />
It is 44100 and is disabled. Let us set our sound card's settings into pulseaudio configuation file<br />
su -c "sed 's/; default-sample-rate = 44100/default-sample-rate = 96000/g' -i /etc/pulse/daemon.conf"<br />
<br />
Let us verify the changes to deamon.conf<br />
grep "sample-rate" /etc/pulse/daemon.conf <br />
output:<br />
default-sample-rate = 96000<br />
and it is done.<br />
<br />
====4. Restart pulseaudio to apply the new settings====<br />
pulseaudio --kill<br />
pulseaudio --start<br />
<br />
====5. Finally check by recording and playing it back====<br />
Let us record some voice using mic for say 10 seconds. Make sure the mic is not muted and all<br />
arecord -f cd -d 10 test-mic.wav<br />
<br />
After 10 seconds, let us play the recording...<br />
aplay test-mic.wav<br />
<br />
Now hopefully, there is no static noise in microphone recording anymore.<br />
<br />
=== My Bluetooth device is paired but does not play any sound ===<br />
[[Bluetooth#My_device_is_paired_but_no_sound_is_played_from_it|See the article in Bluetooth section]]<br />
<br />
=== Subwoofer stops working after end of every song ===<br />
Known issue: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/494099<br />
<br />
To fix this, must edit: {{ic|/etc/pulse/daemon.conf}} and enable {{ic|enable-lfe-remixing}} :<br />
{{hc|/etc/pulse/daemon.conf|<nowiki><br />
enable-lfe-remixing = yes<br />
</nowiki>}}<br />
<br />
=== Pulseaudio uses wrong microphone ===<br />
If Pulseaudio uses the wrong microphone, and changing the Input Device with Pavucontrol did not help, take a look at alsamixer. It seems that Pavucontrol does not always set the input source correctly.<br><br />
Run:<br />
<br />
$ alsamixer<br />
<br />
press F6 and choose your sound card, e.g. HDA Intel. Now press F5 to display all items. Try to find the item: {{ic|Input Source}}. With the up/down arrow keys you are able to change the input source. <br><br />
Now try if the correct microphone is used for recording.<br />
<br />
==External links==<br />
*[http://www.pulseaudio.org/wiki/PerfectSetup http://www.pulseaudio.org/wiki/PerfectSetup] - A good guide to make your configuration perfect<br />
*[http://www.alsa-project.org/main/index.php/Asoundrc http://www.alsa-project.org/main/index.php/Asoundrc] - Alsa wiki on .asoundrc<br />
*[http://www.pulseaudio.org/ http://www.pulseaudio.org/] - PulseAudio official site<br />
*[http://www.pulseaudio.org/wiki/FAQ http://www.pulseaudio.org/wiki/FAQ] - PulseAudio FAQ</div>Iruelhttps://wiki.archlinux.org/index.php?title=Talk:AppArmor&diff=212364Talk:AppArmor2012-07-09T05:37:20Z<p>Iruel: Created page with "This blogger has recently tested Apparmor, but he does say it needs patching and mods to the PKGBUILD to work. Check it out: - http://c0debreak.blogspot.com/2012/06/enabling-a..."</p>
<hr />
<div>This blogger has recently tested Apparmor, but he does say it needs patching and mods to the PKGBUILD to work. Check it out: - http://c0debreak.blogspot.com/2012/06/enabling-apparmor-in-arch-linux.html [[User:Iruel|Iruel]] ([[User talk:Iruel|talk]])</div>Iruelhttps://wiki.archlinux.org/index.php?title=Touhou&diff=185680Touhou2012-02-22T07:57:43Z<p>Iruel: /* Packages */</p>
<hr />
<div>{{i18n|Touhou}}<br />
If you've been on the internet for a while, you might stumble upon a curious fanbase based on a series of bullet hell shooters. The Touhou games are the most difficult games you will ever play, and it's in the genre of "bullet-hell shooters".<br />
<br />
Despite the difficulty, it gets to be a very addicting game. The bullet patterns are beautiful and interesting to look at, the music (at least the WAVs in the full version) are spectacular, and the in-game world is a giant universe that you can imagine quite well in your head. It's no surprise that this little game series has created a million strong fanbase that even the greatest writers can only dream of.<br />
<br />
The following AUR packages only depend on Wine to run (and timidity++ to play MIDI music). A python engine is under development to remove the wine dependency. They install the free trial versions. You can easily replace the trials with the full game if you have it.<br />
<br />
== Packages ==<br />
<br />
These games have been packages in the AUR for your convenience.<br />
<br />
* [https://aur.archlinux.org/packages.php?ID=55144 Touhou 6: Embodiment of Scarlet Devil]<br />
* [https://aur.archlinux.org/packages.php?ID=44324 Touhou 7: Perfect Cherry Blossom]<br />
* [https://aur.archlinux.org/packages.php?ID=49414 Touhou 8: Imperishable Night]<br />
<br />
=== Python Engine ===<br />
<br />
[http://linkmauve.fr/doc/touhou/ Linkmauve] has made an experimental python engine to make the games more portable. It's definitely not stable, and is more of an outline for an engine than an actual one, but it's interesting nonetheless.<br />
<br />
* [https://aur.archlinux.org/packages.php?ID=55157 pytouhou]<br />
* [https://aur.archlinux.org/packages.php?ID=55156 th06 game data]<br />
<br />
== Extra Info ==<br />
<br />
=== Installing the full version ===<br />
If you have the full version of either Imperishable Night or Perfect Cherry Blossom (perhaps through some ''questionable means''[http://thepiratebay.org/torrent/5363686/Touhou_8_-_Imperishable_Night][http://thepiratebay.org/torrent/5303630/Touhou_7_-_Perfect_Cherry_Blossom]) you can place them in your home folder, or you can place them in the overlay so that they will work in the liveCD and also get installed to disk.<br />
<br />
NOTE: '''.th08''' is Imperishable Night's wineprefix folder, and '''.th07''' is Perfect Cherry Blossom's.<br />
<br />
# Find the folder with the Touhou game files. <br />
# Set your file manager to see hidden files/folders. (in Cherimoya's Dolphin file manager, just press '''Alt+. (the period key)''')<br />
# Go to your "Home" folder and find the folders ".th08" and/or ".th07".<br />
# Paste your game files right over the shortcuts in either ".th08" or ".th07"<br />
# Start your games normally. They will use the full version.<br />
<br />
=== MIDI Music ===<br />
<br />
If you're using the trial edition, they only include MIDI files. To play them, you'll also need to install Timidity++ along with some soundfonts.<br />
<br />
sudo ccr -S timidity++ timidity-freepats<br />
<br />
Now add the following lines to /etc/timidity++/timidity.cfg:<br />
<br />
dir /usr/share/timidity/freepats<br />
source /etc/timidity++/freepats/freepats.cfg<br />
<br />
Remember to start the daemon before play as root with<br />
<br />
/etc/rc.d/timidity++ start<br />
<br />
To make it permanent, add it to the DAEMONS section in your /etc/rc.conf.<br />
<br />
== Packaging Games ==<br />
<br />
We need help packaging more Touhou games for the AUR. This is a list of games that have free, downloadable trial editions to build off of.<br />
<br />
* Touhou 9: Phantasmagoria of Flower View<br />
* Touhou 10: Mountain of Faith<br />
* Touhou 11: Subterranean Animism<br />
* Touhou 12: Undefined Fantastic Object<br />
* Touhou 13: Ten Desires<br />
<br />
=== How to package a game ===<br />
<br />
TODO<br />
<br />
== External Links ==<br />
<br />
* [http://en.wikipedia.org/wiki/Touhou_Project Touhou Project on Wikipedia]<br />
* [http://en.touhouwiki.net/wiki/Running_in_Linux_and_MacOS_X Running Touhou Games in Linux]</div>Iruelhttps://wiki.archlinux.org/index.php?title=Touhou&diff=185679Touhou2012-02-22T07:56:46Z<p>Iruel: </p>
<hr />
<div>{{i18n|Touhou}}<br />
If you've been on the internet for a while, you might stumble upon a curious fanbase based on a series of bullet hell shooters. The Touhou games are the most difficult games you will ever play, and it's in the genre of "bullet-hell shooters".<br />
<br />
Despite the difficulty, it gets to be a very addicting game. The bullet patterns are beautiful and interesting to look at, the music (at least the WAVs in the full version) are spectacular, and the in-game world is a giant universe that you can imagine quite well in your head. It's no surprise that this little game series has created a million strong fanbase that even the greatest writers can only dream of.<br />
<br />
The following AUR packages only depend on Wine to run (and timidity++ to play MIDI music). A python engine is under development to remove the wine dependency. They install the free trial versions. You can easily replace the trials with the full game if you have it.<br />
<br />
== Packages ==<br />
<br />
These games have been packages in the AUR for your convenience.<br />
<br />
* [https://aur.archlinux.org/packages.php?ID=55144 Touhou 6: Embodiment of Scarlet Devil]<br />
* [https://aur.archlinux.org/packages.php?ID=44324 Touhou 7: Perfect Cherry Blossom]<br />
* [https://aur.archlinux.org/packages.php?ID=49414 Touhou 8: Imperishable Night]<br />
<br />
=== Python Engine ===<br />
<br />
[Linkmauve] has made an experimental python engine to make the games more portable. It's definitely not stable, and is more of an outline for an engine than an actual one, but it's interesting nonetheless.<br />
<br />
* [https://aur.archlinux.org/packages.php?ID=55157 pytouhou]<br />
* [https://aur.archlinux.org/packages.php?ID=55156 th06 game data]<br />
<br />
== Extra Info ==<br />
<br />
=== Installing the full version ===<br />
If you have the full version of either Imperishable Night or Perfect Cherry Blossom (perhaps through some ''questionable means''[http://thepiratebay.org/torrent/5363686/Touhou_8_-_Imperishable_Night][http://thepiratebay.org/torrent/5303630/Touhou_7_-_Perfect_Cherry_Blossom]) you can place them in your home folder, or you can place them in the overlay so that they will work in the liveCD and also get installed to disk.<br />
<br />
NOTE: '''.th08''' is Imperishable Night's wineprefix folder, and '''.th07''' is Perfect Cherry Blossom's.<br />
<br />
# Find the folder with the Touhou game files. <br />
# Set your file manager to see hidden files/folders. (in Cherimoya's Dolphin file manager, just press '''Alt+. (the period key)''')<br />
# Go to your "Home" folder and find the folders ".th08" and/or ".th07".<br />
# Paste your game files right over the shortcuts in either ".th08" or ".th07"<br />
# Start your games normally. They will use the full version.<br />
<br />
=== MIDI Music ===<br />
<br />
If you're using the trial edition, they only include MIDI files. To play them, you'll also need to install Timidity++ along with some soundfonts.<br />
<br />
sudo ccr -S timidity++ timidity-freepats<br />
<br />
Now add the following lines to /etc/timidity++/timidity.cfg:<br />
<br />
dir /usr/share/timidity/freepats<br />
source /etc/timidity++/freepats/freepats.cfg<br />
<br />
Remember to start the daemon before play as root with<br />
<br />
/etc/rc.d/timidity++ start<br />
<br />
To make it permanent, add it to the DAEMONS section in your /etc/rc.conf.<br />
<br />
== Packaging Games ==<br />
<br />
We need help packaging more Touhou games for the AUR. This is a list of games that have free, downloadable trial editions to build off of.<br />
<br />
* Touhou 9: Phantasmagoria of Flower View<br />
* Touhou 10: Mountain of Faith<br />
* Touhou 11: Subterranean Animism<br />
* Touhou 12: Undefined Fantastic Object<br />
* Touhou 13: Ten Desires<br />
<br />
=== How to package a game ===<br />
<br />
TODO<br />
<br />
== External Links ==<br />
<br />
* [http://en.wikipedia.org/wiki/Touhou_Project Touhou Project on Wikipedia]<br />
* [http://en.touhouwiki.net/wiki/Running_in_Linux_and_MacOS_X Running Touhou Games in Linux]</div>Iruelhttps://wiki.archlinux.org/index.php?title=Touhou&diff=185678Touhou2012-02-22T07:47:48Z<p>Iruel: Created page with "{{i18n|Touhou}} If you've been on the internet for a while, you might stumble upon a curious fanbase based on a series of bullet hell shooters. The Touhou games are the most d..."</p>
<hr />
<div>{{i18n|Touhou}}<br />
If you've been on the internet for a while, you might stumble upon a curious fanbase based on a series of bullet hell shooters. The Touhou games are the most difficult games you will ever play, and it's in the genre of "bullet-hell shooters".<br />
<br />
Despite the difficulty, it gets to be a very addicting game. The bullet patterns are beautiful and interesting to look at, the music (at least the WAVs in the full version) are spectacular, and the in-game world is a giant universe that you can imagine quite well in your head. It's no surprise that this little game series has created a million strong fanbase that even the greatest writers can only dream of.<br />
<br />
The following AUR packages only depend on Wine to run (and timidity++ to play MIDI music). They install the free trial versions. You can easily replace the trials with the full game if you have it.<br />
<br />
== Packages ==<br />
<br />
These games have been packages in the AUR for your convenience.<br />
<br />
* [http://chakra-linux.org/ccr/packages.php?ID=1876 Touhou 7: Perfect Cherry Blossom]<br />
* [http://chakra-linux.org/ccr/packages.php?ID=1884 Touhou 8: Imperishable Night]<br />
<br />
== Extra Info ==<br />
<br />
=== Installing the full version ===<br />
If you have the full version of either Imperishable Night or Perfect Cherry Blossom (perhaps through some ''questionable means''[http://thepiratebay.org/torrent/5363686/Touhou_8_-_Imperishable_Night][http://thepiratebay.org/torrent/5303630/Touhou_7_-_Perfect_Cherry_Blossom]) you can place them in your home folder, or you can place them in the overlay so that they will work in the liveCD and also get installed to disk.<br />
<br />
NOTE: '''.th08''' is Imperishable Night's wineprefix folder, and '''.th07''' is Perfect Cherry Blossom's.<br />
<br />
# Find the folder with the Touhou game files. <br />
# Set your file manager to see hidden files/folders. (in Cherimoya's Dolphin file manager, just press '''Alt+. (the period key)''')<br />
# Go to your "Home" folder and find the folders ".th08" and/or ".th07".<br />
# Paste your game files right over the shortcuts in either ".th08" or ".th07"<br />
# Start your games normally. They will use the full version.<br />
<br />
=== MIDI Music ===<br />
<br />
If you're using the trial edition, they only include MIDI files. To play them, you'll also need to install Timidity++ along with some soundfonts.<br />
<br />
sudo ccr -S timidity++ timidity-freepats<br />
<br />
Now add the following lines to /etc/timidity++/timidity.cfg:<br />
<br />
dir /usr/share/timidity/freepats<br />
source /etc/timidity++/freepats/freepats.cfg<br />
<br />
Remember to start the daemon before play as root with<br />
<br />
/etc/rc.d/timidity++ start<br />
<br />
To make it permanent, add it to the DAEMONS section in your /etc/rc.conf.<br />
<br />
== External Links ==<br />
<br />
* [http://en.wikipedia.org/wiki/Touhou_Project Touhou Project on Wikipedia]<br />
* [http://en.touhouwiki.net/wiki/Running_in_Linux_and_MacOS_X Running Touhou Games in Linux]</div>Iruel