[solved] migrating to systemd

Hey All,
I have hit two stumbling blocks migrating to systemd
one is rc.local support
rc.local simply contains
echo 0 > /sys/class/backlight/intel_backlight/brightness
  which needs to be run as root once per startup to enable backlight adjustment
I wrote the file /etc/systemd/system/rc-local.service
[Unit]
Description=/etc/rc.local Compatibility
[Service]
Type=oneshot
ExecStart=/etc/rc.local
TimeoutSec=0
#StandardInput=tty
#RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
and executed it with
# systemctl start rc-local.service
and this works correctly
running
systemctl enable rc-local.service
and restarting however still results in rc.local failing
The second issue is that slim.service fails periodically (about 50% of the time) and I am not sure why, /var/lock exists
Does anyone have any ideas as to why slim fails. Or a workaround for either removing rc.local completely or a fix for my rc-local.service
Thanks
Last edited by RGoose (2012-09-01 14:53:40)

$ sudo journalctl -b | grep tmpfile
Aug 31 12:33:50 Tycho systemd-tmpfiles[1886]: stat(/run/user/1000/gvfs) fail...d
This is the only thing with reference to tmpfile that I can find
grepping for "backlight" "systemd" "set" "tmp" results in nothing for tmpfiles aside from the above posted
everything for systemd
$ sudo journalctl -b | grep systemd
Aug 31 12:18:51 Tycho kernel: Command line: root=/dev/sda3 ro init=/bin/systemd
Aug 31 12:18:51 Tycho systemd-udevd[49]: starting version 188
Aug 31 12:18:51 Tycho systemd[1]: systemd 189 running in system mode. (+PAM...h)
Aug 31 12:18:51 Tycho systemd[1]: Inserted module 'autofs4'
Aug 31 12:18:51 Tycho systemd[1]: Set hostname to <Tycho>.
Aug 31 12:18:51 Tycho systemd-udevd[130]: starting version 189
Aug 31 12:18:51 Tycho systemd-journal[133]: Journal started
Aug 31 12:18:51 Tycho arch-modules-load[124]: /usr/lib/systemd/arch-modules-...y
Aug 31 12:18:51 Tycho systemd-fsck[269]: /dev/sda1: clean, 29/26104 files, 2...s
Aug 31 12:18:51 Tycho systemd-udevd[140]: renamed network interface wlan0 to...0
Aug 31 12:18:51 Tycho dbus[321]: [system] Activating systemd to hand-off: s...e'
Aug 31 12:18:51 Tycho systemd-logind[316]: Watching system buttons on /dev/i...)
Aug 31 12:18:51 Tycho systemd-logind[316]: Watching system buttons on /dev/i...)
Aug 31 12:18:51 Tycho systemd-logind[316]: Watching system buttons on /dev/i...)
Aug 31 12:18:51 Tycho systemd-logind[316]: Watching system buttons on /dev/i...)
Aug 31 12:18:51 Tycho systemd-logind[316]: New seat seat0.
Aug 31 12:18:51 Tycho systemd[1]: rc-local.service: main process exited, co...=1
Aug 31 12:18:51 Tycho systemd-logind[316]: Watching system buttons on /dev/i...)
Aug 31 12:18:51 Tycho systemd[1]: Unit rc-local.service entered failed state.
Aug 31 12:18:52 Tycho dbus[321]: [system] Activating via systemd: service n...e'
Aug 31 12:18:52 Tycho systemd-logind[316]: Watching system buttons on /dev/i...)
Aug 31 12:18:52 Tycho systemd[1]: Startup finished in 874ms 899us (kernel) ...s.
Aug 31 12:18:53 Tycho dbus[321]: [system] Activating via systemd: service n...e'
Aug 31 12:18:53 Tycho dbus[321]: [system] Activation via systemd failed for...s.
Aug 31 12:18:54 Tycho dbus[321]: [system] Activating via systemd: service n...e'
Aug 31 12:18:54 Tycho dbus[321]: [system] Activation via systemd failed for...s.
Aug 31 12:18:55 Tycho dbus[321]: [system] Activating via systemd: service n...e'
Aug 31 12:18:55 Tycho dbus[321]: [system] Activation via systemd failed for...s.
Aug 31 12:18:56 Tycho dbus[321]: [system] Activating via systemd: service n...e'
Aug 31 12:18:56 Tycho dbus[321]: [system] Activation via systemd failed for...s.
Aug 31 12:18:57 Tycho systemd-logind[316]: New session 1 of user jobbins.
Aug 31 12:18:57 Tycho systemd-logind[316]: Linked /tmp/.X11-unix/X0 to /run/....
Aug 31 12:18:57 Tycho dbus[321]: [system] Activating via systemd: service n...e'
Aug 31 12:18:57 Tycho dbus[321]: [system] Activating via systemd: service n...e'
Aug 31 12:18:58 Tycho dbus[321]: [system] Activating via systemd: service n...e'
Aug 31 12:33:50 Tycho systemd-tmpfiles[1886]: stat(/run/user/1000/gvfs) fail...d

Similar Messages

  • [SOLVED] Migrating to systemd: One big doubt

    I have been looking around and did not find anything that answers this straight up... so, forgive me if I didn't dig enough.
    I have everything ready to switch to systemd but I have a couple of daemons that do not have it's equivalent in systemd.
    Should I wait until the maintainers update their packages or there is another way I'm missing here?
    The daemons are crashplan and supersonic.... If i'ts of any help.
    Thanks!
    Last edited by Xi0N (2012-10-22 07:10:27)

    Ok, this one seems to work:
    [Unit]
    Description=Supersonic Multimedia Server
    After=network.target
    [Service]
    Type=forking
    #PIDFile=/opt/crashplan/CrashPlanEngine.pid
    #EnvironmentFile=/opt/crashplan/bin/run.conf
    WorkingDirectory=/var/supersonic
    ExecStart=/var/supersonic/supersonic.sh start
    ExecStop=/var/supersonic/supersonic.sh stop
    [Install]
    WantedBy=multi-user.target
    Just in case anyone needs it or wants to improve it.... thanks guys!! Now my system is 100% working with systemd+brand new vertex4 ssd FAST AS HELL for being a 5 year old computer.....

  • Migrated to systemd, modules are not loading [solved]

    Hi;
    I got around to migrating to systemd, but now modules are not loading. I got this setup (i gave full permissions thought it would help):
    $ ls /etc/modules-load.d/
    -rwxrwxrwx  1 root root   20 Dec  2 22:34 vbox*
    $ cat /etc/modules-load.d/vbox
    #vbox
    vboxdrv
    loop
    Any methods of debugging why this doesnt work?
    Thanks.
    Last edited by daf666 (2012-12-03 21:01:26)

    the files have to end with ".conf". And -x permissions are certainly not necessary.
    man modules-load.d

  • Cannot boot after a migration to systemd in OpenVZ

    EDIT: I "solved" my problem, and I doubt this thread will ever help anybody. You're warned.
    Hello,
    Earlier today, my Arch install that was still running with initscripts (and without the last filesystem/bash upgrade) suddently rebooted, and that broke a certain number of things (services weren't starting anymore, etc.). I figured I had waited too long before migrating to systemd for good, and therefore I followed the migration guide on the Wiki, added the "init=/usr/lib/systemd/systemd" kernel parameter and rebooted again.
    Sadly, ps -p 1 was still showing init instead of systemd. After a few more tries, I installed systemd-sysvcompat (thus replacing the sysvinit package), and rebooted again. That last reboot failed. Now OpenVZ stops suddently with the following messages:
    [root@ks /]# vzctl start 106
    Starting container ...
    vzquota : (warning) Quota is running for id 106 already
    Container is mounted
    Adding IP address(es): ***
    Setting CPU units: 1000
    Setting CPUs: 2
    /bin/bash: line 72: /bin/cp: No such file or directory
    ERROR: Can't copy file /etc/rc.conf
    Unable to start init, probably incorrect template
    Container start failed
    Stopping container ...
    Container was stopped
    vzquota : (error) Quota off syscall for id 106: Device or resource busy
    vzquota off failed [3]
    I tried to chroot in the VM folder and reinstall sysvinit, but that was too late:
    pacman -U /var/cache/pacman/pkg/sysvinit-2.88-9-x86_64.pkg.tar.xz
    error: could not open file: /etc/mtab: No such file or directory
    error: could not determine filesystem mount points
    error: failed to commit transaction (unexpected error)
    Errors occurred, no packages were upgraded.
    It looks like I can't use pacman in a chroot. The host OS is not running Arch so I cannot use pacman with the --root flag.
    I'm running out of ideas. Any help would be really appreciated...
    Thank you.
    Last edited by Vlavv (2013-06-27 00:26:12)

    The problem with the chroot options is that I don't have the root privileges on the host machine. I was only able to access that chroot thanks to a kind administrator, but I couldn't ask too much either.
    OK, so I've done some Ugly Things, messed with the contents of the sysvinit package archive manually to get the right files at the right places, and eventually managed to boot my VM and get all the stuff working. I'm certainly not proud of myself, but at least things are working again for now. I'll do a clean reinstall later. Thank you for the suggestion, and sorry for the noise.
    Cheers.

  • Samba shares no longer visible after migration to systemd

    EDIT: Note the file server is CLI only.
    I upgraded my file server to systemd about a week ago and have yet to get the Samba share visible from other devices within my network.  Eveything worked fine under initscripts and other than system upgrades the only thing that has changed about the system is the migration to systemd and addition of the netcfg package.  I can connect manually by typing "smb://<IP>" in a file manager address field but when trying to access the Share via browsing on two different WD media players, a Xoom tablet, typing "smb://" in the address bar of a basic file manager like Thunar or PCManFM or using browsing the Network or Samba Shares links in the Network place from Dolphin the share just doesn't show up.
    The fact that I can access the Share directly, it's just not visible when browsing, makes me think samba is working properly but I'm not sure how to further diagnose the issue and I'd really like to solve the problem and learn something rather than just load up a previous image of the PC before the systemd migration.
    Commands from client
    my /etc/hosts...
    cat /etc/hosts
    #<ip-address> <hostname.domain.org> <hostname>
    127.0.0.1 localhost.localdomain localhost dads-pc
    192.168.10.131 dads-pc.HOMESERVER dads-pc
    192.168.10.100 Serverbox.HOMESERVER Serverbox
    Master Browser search, this does look odd, I don't use it on any machine so where the heck did the .255 at the end of the IP address come from? 
    $ nmblookup -M HOMESERVER
    querying HOMESERVER on 192.168.10.255
    name_query failed to find name HOMESERVER#1d
    I can sign in fine...
    $ smbclient -L Serverbox
    Enter dad's password:
    Failed to load upcase.dat, will use lame ASCII-only case sensitivity rules
    Failed to load lowcase.dat, will use lame ASCII-only case sensitivity rules
    Domain=[HOMESERVER] OS=[Unix] Server=[Samba 3.6.9]
    Sharename Type Comment
    IPC$ IPC IPC Service (Samba Server)
    Server Disk The Family Network Share Files
    ParentalMovies Disk Movie folders for Mom and Dad
    Movies Disk Family Movie folders
    Domain=[HOMESERVER] OS=[Unix] Server=[Samba 3.6.9]
    Server Comment
    SERVERBOX Samba Server
    Workgroup Master
    HOMESERVER SERVERBOX
    I can sign in as one of the media players fine...
    $ smbclient -L Serverbox -U lr_mediaplayer
    Enter lr_mediaplayer's password:
    Failed to load upcase.dat, will use lame ASCII-only case sensitivity rules
    Failed to load lowcase.dat, will use lame ASCII-only case sensitivity rules
    Domain=[HOMESERVER] OS=[Unix] Server=[Samba 3.6.9]
    Sharename Type Comment
    IPC$ IPC IPC Service (Samba Server)
    Server Disk The Family Network Share Files
    ParentalMovies Disk Movie folders for Mom and Dad
    Movies Disk Family Movie folders
    Domain=[HOMESERVER] OS=[Unix] Server=[Samba 3.6.9]
    Server Comment
    SERVERBOX Samba Server
    Workgroup Master
    HOMESERVER SERVERBOX
    Commands from Server
    Both smbd and nmbd services appear functional...
    $ systemctl status smbd nmbd
    smbd.service - Samba SMB/CIFS server
    Loaded: loaded (/etc/systemd/system/smbd.service; enabled)
    Active: active (running) since Mon, 2012-11-19 17:48:07 CST; 2h 9min ago
    Main PID: 534 (smbd)
    CGroup: name=systemd:/system/smbd.service
    ├ 534 /usr/sbin/smbd -F
    ├ 551 /usr/sbin/smbd -F
    └ 559 /usr/sbin/smbd -F
    nmbd.service - Samba NetBIOS name server
    Loaded: loaded (/etc/systemd/system/nmbd.service; enabled)
    Active: active (running) since Mon, 2012-11-19 17:48:07 CST; 2h 9min ago
    Main PID: 536 (nmbd)
    CGroup: name=systemd:/system/nmbd.service
    └ 536 /usr/sbin/nmbd -F
    The global portion of my /etc/samba/smb.conf file...
    [global]
    workgroup = HOMESERVER
    server string = Samba Server
    log file = /var/log/samba/%m.log
    max log size = 50
    dns proxy = No
    valid users = dad, lisa, administrator,lr_mediaplayer, xoom, br_mediaplayer
    read list = dad, lisa, administrator, lr_mediaplayer, xoom, br_mediaplayer
    write list = dad, lisa, administrator
    load printers = no
    write cache size = 262144
    large readwrite = yes
    # These next lines have been added after systemd conversion based on web research, none of which has helped.
    log level = 10
    name resolve order = host bcast lmhosts wins
    interfaces = eth0 192.168.10.100/19
    preferred master = yes
    Testing of the /etc/samba/smb.conf file, no errors ...
    $ testparm smb.conf
    Load smb config files from smb.conf
    rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
    Processing section "[Movies]"
    Processing section "[ParentalMovies]"
    Processing section "[Server]"
    Loaded services file OK.
    WARNING: You have some share names that are longer than 12 characters.
    These may not be accessible to some older clients.
    (Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
    Server role: ROLE_STANDALONE
    My network config file for [email protected]...
    $ cat /etc/network.d/eth0
    CONNECTION='ethernet'
    DESCRIPTION='A basic static ethernet connection using iproute'
    INTERFACE='eth0'
    IP='static'
    ADDR='192.168.10.100'
    #ROUTES=('192.168.0.0/24 via 192.168.1.2')
    GATEWAY='192.168.10.1'
    DNS=('76.85.229.110' '76.85.229.111')
    Master Browser search and again with the rogue .255 ending for the IP address being broadcast.
    $ nmblookup -M HOMESERVER
    INFO: Current debug levels:
    all: 10
    tdb: 10
    printdrivers: 10
    lanman: 10
    smb: 10
    rpc_parse: 10
    rpc_srv: 10
    rpc_cli: 10
    passdb: 10
    sam: 10
    auth: 10
    winbind: 10
    vfs: 10
    idmap: 10
    quota: 10
    acls: 10
    locking: 10
    msdfs: 10
    dmapi: 10
    registry: 10
    doing parameter name resolve order = host bcast lmhosts wins
    doing parameter log file = /var/log/samba/%m.log
    doing parameter max log size = 50
    doing parameter dns proxy = No
    doing parameter valid users = dad, lisa, administrator,lr_mediaplayer, xoom, br_mediaplayer
    doing parameter read list = dad, lisa, administrator, lr_mediaplayer, xoom, br_mediaplayer
    doing parameter write list = dad, lisa, administrator
    doing parameter load printers = no
    doing parameter write cache size = 262144
    doing parameter large readwrite = yes
    doing parameter preferred master = yes
    pm_process() returned Yes
    lp_servicenumber: couldn't find homes
    set_server_role: role = ROLE_STANDALONE
    Substituting charset 'UTF-8' for LOCALE
    added interface eth0 ip=fe80::3285:a9ff:fe8e:90f7%eth0 bcast=fe80::ffff:ffff:ffff:ffff%eth0 netmask=ffff:ffff:ffff:ffff::
    added interface eth0 ip=192.168.10.100 bcast=192.168.10.255 netmask=255.255.255.0
    bind succeeded on port 0
    Socket options:
    SO_KEEPALIVE = 0
    SO_REUSEADDR = 1
    SO_BROADCAST = 1
    Could not test socket option TCP_NODELAY.
    Could not test socket option TCP_KEEPCNT.
    Could not test socket option TCP_KEEPIDLE.
    Could not test socket option TCP_KEEPINTVL.
    IPTOS_LOWDELAY = 0
    IPTOS_THROUGHPUT = 0
    SO_SNDBUF = 212992
    SO_RCVBUF = 212992
    SO_SNDLOWAT = 1
    SO_RCVLOWAT = 1
    SO_SNDTIMEO = 0
    SO_RCVTIMEO = 0
    Could not test socket option TCP_QUICKACK.
    Socket opened.
    lang_tdb_init: /usr/lib/samba/en_US.UTF-8.msg: No such file or directory
    querying HOMESERVER on 192.168.10.255
    bind succeeded on port 0
    Socket options:
    SO_KEEPALIVE = 0
    SO_REUSEADDR = 1
    SO_BROADCAST = 1
    Could not test socket option TCP_NODELAY.
    Could not test socket option TCP_KEEPCNT.
    Could not test socket option TCP_KEEPIDLE.
    Could not test socket option TCP_KEEPINTVL.
    IPTOS_LOWDELAY = 0
    IPTOS_THROUGHPUT = 0
    SO_SNDBUF = 212992
    SO_RCVBUF = 212992
    SO_SNDLOWAT = 1
    SO_RCVLOWAT = 1
    SO_SNDTIMEO = 0
    SO_RCVTIMEO = 0
    Could not test socket option TCP_QUICKACK.
    parse_nmb: packet id = 9235
    nmb packet from 192.168.10.100(35072) header: id=9235 opcode=Query(0) response=Yes
    header: flags: bcast=No rec_avail=Yes rec_des=Yes trunc=No auth=Yes
    header: rcode=0 qdcount=0 ancount=1 nscount=0 arcount=0
    answers: nmb_name=HOMESERVER<1d> rr_type=32 rr_class=1 ttl=259200
    answers 0 char .....d hex 0000C0A80A64
    Got a positive name query response from 192.168.10.100 ( 192.168.10.100 )
    192.168.10.100 HOMESERVER<1d>
    Thank you.
    Last edited by imatechguy (2012-11-20 03:16:39)

    ChojinDSL wrote:Do you have a firewall running on that server?
    Are your clients also using systemd?
    Yes I do have a firewall, iptables, and it's the same configuration from before the migration to systemd.  Also note that I can access the shares when explicitly defining the path whether that's in a File Manager, cli or other so access isn't being blocked.  For lack of a better explanation the whole thing gives the appearance that although the Share is active it's just not broadcasting it's existence like it should be.
    I have two PC's, both Arch, one with Openbox and one running KDE that I have migrated to systemd.  Both can access the Share when the path is explicitly defined but don't see it when trying to just browse for the the Share.  I have a Xoom tablet, running Android Jelly Bean, that exhibits the same behavior.  I also have two media players, one an older WD LiveTV Plus model the other a newer WD LiveTV model, neither of which can see the share and browsing is the only option for those devices.  So I've got a pretty good assortment of devices and operating systems that could see the share when browsing previously but can not see the same share by browsing since the migration to systemd on the file server.
    Thank you.

  • 3D rendering extremely slow in awesome wm after migrating to systemd

    Good evening, fellow Archers!
    Once again your expertise and assistance is required!
    The problem:
    3D rendering is very, very, slow after switching to awesome wm and/or upgrading to systemd. Things like turning 3D plots generated in GNU Octave (via gnuplot), as well as glxgears, are running extremely slowy.
    Typing "glxinfo | grep direct" into a terminal yields a "yes", though.
    Longer version of the problem:
    My Asus Eee Pc 901 has been running OpenBox for a long time, but I haven't used that machine for 2-3 months now. Recently I booted it up again, and discovered that Arch Linux is now using systemd while updating the system. Migrating to systemd was rather painless. However, while doing these upgrades I decided to ditch OpenBox in favor of trying out awesome wm. Everything worked superb in awesome wm, which I would say is now my window manager of choice.
    Then I discovered that 3D rendering is very choppy/unresponsive/slow (other than that, the computer is as fast as before). What is going on here? My netbook has an integrated Intel graphics card, by the way, that worked fine before.

    I think you're on to something here!! Thanks for the pointer.
    Didn't mention it before, because I thought it was unrelated, but this might have something to do with the issue: when logging in, just before awesome wm starts up,
    -bash: /home/username/.bash_profile: Permission denied
    is displayed.
    How do I know/change what tty is being used for awesome wm (which seems to be using tty1)? When OpenBox was running before it might have been using another tty (think it was tty7).
    I read the information you linked, albeit it was not very clear to me (I don't know how to add my user to different groups, to see if that works better).
    This is what glxinfo says:
    name of display: :0
    display: :0 screen: 0
    direct rendering: Yes
    server glx vendor string: SGI
    server glx version string: 1.4
    server glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile,
    GLX_ARB_multisample, GLX_EXT_create_context_es2_profile,
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
    GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, GLX_OML_swap_method,
    GLX_SGI_swap_control, GLX_SGIS_multisample, GLX_SGIX_fbconfig,
    GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_INTEL_swap_event
    client glx vendor string: Mesa Project and SGI

  • [SOLVED] Stuck in emergency mode after migration to systemd

    Hey there,
    in order to get gnome 3.6 running i wanted to migrate my system to systemd.
    I followed the instructions in the wiki but now i'm stuck at an emergency console.
    The log tells me this:
    http://pl.vg/4eeoy
    I've got an LVM encrypted setup.
    Maybe you can help me get my system back running.
    Regards,
    Marcel
    Last edited by jack_slayton (2012-10-31 17:37:00)

    Hmm, i solved it by commenting some UUID mounts of NTFS filesystems in my /etc/fstab.
    Strange ...

  • [SOLVED]Problem with systemd and awesome wm

    Hello,
    I recently have installed systemd and I have enabled slim.service, but after logging in throught slim I cannot run any programs in my awesome wm. Well, actually I can, but only a few seconds after login. If I run xterm and then try to run a program throught it I get messages "no protocol specified" and "cannot open display :0.0". If I quit awesome/X and login again(without reboot) all works just fine. Could you please help me to solve this problem? Thank you in advance.
    Edit: found this in the Xorg.0.log:
    [ 164.412] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Jun 15 11:47:28 2012
    [ 164.412] (==) Using config directory: "/etc/X11/xorg.conf.d"
    [ 164.413] (==) No Layout section. Using the first Screen section.
    [ 164.413] (==) No screen section available. Using defaults.
    [ 164.413] (**) |-->Screen "Default Screen Section" (0)
    [ 164.413] (**) | |-->Monitor "<default monitor>"
    [ 164.413] (==) No monitor specified for screen "Default Screen Section".
    Using a default monitor configuration.
    Last edited by ArtemGuzhva (2012-06-18 07:46:12)

    Okay, it is working fine now I have uninstalled initscripts and installed sysvcompat.
    NOTE: before uninstalling initscripts and sysvinit, reboot your computer with init=/bin/systemd in your kernel cmdline, because you will not be able to shutdown properly due to the lack of inittab.
    Last edited by ArtemGuzhva (2012-06-18 07:49:12)

  • [SOLVED]MPD, PulseAudio & Systemd/User

    Since the advent of skype 4.3 I've had to switch to using pulseaudio. Things seems to be working fine except for the interaction between pulseaudio and mpd. My goal is to attain the same functionality as I had before when I was just using alsa. The main problem seems to be that the mpd daemon starts before pulseaudio. This means that when I reboot, for example, my music doesn't automatically keep playing. However if I toggle mpc (or open ncmpcpp and unpause) then it works fine.
    What I have done
    1) I installed mpd using the script found on the wiki
    1a) copied ~/.config/mpd/mpd.conf to /etc/mpd.conf and uncomment #user line so it runs as my user
    1b) enabled the mpd service with systemctl so it starts on boot, as directed to from 1)
    2) Applied the workaround detailed here to make pulseaudio play nice with mpd
    From what I can understand this results in the mpd daemon using the /etc/mpd.conf file which mirrors my local one (but I think the process is still started as root?)
    If I don't do 2) then I get a problem where if I try to open pavucontrol I get an error saying I'm unable to connect and the system feels very unresponsive. Two second delays navigating around in thunar for example.
    fuser /dev/snd/* outputs
    » sudo fuser /dev/snd/*
    /dev/snd/controlC0: 440
    /dev/snd/controlC1: 440
    /dev/snd/pcmC0D0p: 440m
    » ps aux | grep 440
    quiv 440 1.2 0.1 495964 13248 ? Sl 15:16 0:05 /usr/bin/pulseaudio --start --log-target=syslog
    quiv 2259 0.0 0.0 11668 2296 pts/0 S+ 15:23 0:00 grep --color=auto 440
    For now I have added in
    if grep -q "state: pause" /home/quiv/.config/mpd/state; then
    mpc toggle
    fi
    to my ~/.xinitrc as a work around to get pulse and mpd to work together properly. However it doesn't seem to work all the time. If I leave my music playing then when I reboot the system with reboot it seems that somtimes the state is being saved as paused, and other times as play. I suppose I could just mpc toggle without checking, but I don't want a situation where if I happen to not be playing music that every time I reboot my music starts playing.
    Other things I have tried are;
    A) not using pulseaudio with mpd.
    B) not using systemd to manage mpd. Instead I manually started it in .xinitrc and pointed it to my ~/.config/mpd/mpd.conf file. I believe this means it runs as my own user instead of as root. When I did this I commented the username line and also undid 2) from above in ~/.config/mpd/mpd.conf
    The problem with A) is that if I use alsa with mpd, mpd hogs my soundcard. My card becomes unselectable in pavucontrol and I cannot use it with pulseaudio., meanng no skype. The benefit of doing this (this is how I used to do it before I needed pulseaudio) is I have no problems with mpd's state being saved incorrectly.
    The problem with B) is the mpdstate is saved incorrectly when for example I issue reboot. I can reproduce this by changing my currently played song then rebooting. When I boot back up mpd resumes playback from the previous session instead of recognizing the last thing I was playing. I had a search around on the forums and I found this issue which seems to describe what is happening. There doesn't seem to be a solution there instead a suggestion to user systemd (which I would like to do!) instead to manage mpd. Rasi's post details a unit file but I'm unsure what to do with this.
    Looking at the wiki it seems like maybe I am supposed to provide this file so that it overwrites the default mpd.service unit. So I followed the steps listed there. First I created the directory /etc/systemd/system/mpd.d/ then made the user.conf file inside. I tried just putting the additional arguments in
    [Service]
    User=YOUR_USER
    PAMName=system-local-login
    I also remember trying to overwrite the entire [Service] section of the original by using
    [Service]
    User=YOUR_USER
    PAMName=system-local-login
    ExecStart=
    ExecStart=/usr/bin/mpd --no-daemon
    because I think just adding the addtional parameters might not have worked. But I'm not sure on this point, maybe both ways worked. This seemed to work but I had the same problem as above. The state was still being saved incorrectly sometimes when I rebooted. I would get a previous session instead of the most recent change. So I tried the other method for overwriting systemd unit files and made the file /etc/systemd/system/mpd.service in which I pasted Rasi's entire unit file. This also seemed to work, but still the incorrect state problem happened.
    At this point I didn't know what to try. It seemed like the only option left was to set up mpd using a local configuration and setting up a systemd/User session and managing it that way. The wiki indiciated that if I did it this way I would not have to use the method 2) above. However I was/still am hesistant about doing this. I'm new to arch and the systemd/User wiki page seems very intimidating. I worry that I will create problems that I won't understand how to solve using this method just for the chance that mpd will function correclty with pulse. However I seemed to have exhausted all my possible options so I thought whatever I'll try it anyway! I'm certain I probably haven't done it right however.
    So once again I turned to the wiki to help me with setting this up. However I can't make sense of the article. I don't know if I should follow ONLY the Setup since systemd 206 or if I should follow both setup sections? I decided to follow only the first section. I use no DE so I commented out the
    [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
    line in my ~/.zprofile. When I set up my system I followed the Automatic login to virtual console. I left this file alone, but upon second thoughts maybe I should have disabled this too? I don't understand if using xlogin-git to austoart Xorg, as described in the systemd/User page, requires me to get rid of this too. I think xlogin-git just starts Xorg so automatic login via getty should be fine?
    Immediately when I boot in using systemd to manage my session I notice that there are problems. I don't think my environment variables are being sourced from .zshenv because my panel fails to load. If I kill the panel and load it again it works. This makes me think there is something wrong with the order of units started with systemd.
    » sudo journalctl --this-boot --no-pager | grep -i panel ~
    Jul 05 16:25:39 lorelai bash[494]: /home/quiv/.config/bspwm/panel/panel: line 16: : No such file or directory
    Jul 05 16:25:39 lorelai bash[494]: /home/quiv/.config/bspwm/panel/panel: line 17: : No such file or directory
    Jul 05 16:25:39 lorelai bash[494]: /home/quiv/.config/bspwm/panel/panel: line 18: : No such file or directory
    In each instance panel is trying to do things based on $PANEL_FIFO which is exported from ~/.zshenv but it doesn't appear to be set at the time systemd starts things up. Apart from these problems, which are probably undoubtedly due to the fact I failed to set up systemd/User properly, I still have problems with mpd. The state seems to be remembered correctly now, however when I reboot I still have to toggle mpc for it to start playback. It seems to be the same problem as when I use setup detailed intially. I suspect perhaps once again there is something wrong with the order here. MPD starts before pulse so it doesn't find anything to play through, then once I issue the mpc toggle command pulse is started and all is happy.
    A final note is that I was getting this error yesterday when using systemd/User
    ● mpd.service - Music Player Daemon
    Loaded: loaded (/usr/lib/systemd/system/mpd.service; enabled)
    Active: inactive (dead)
    Jul 05 03:11:41 lorelai pulseaudio[450]: [pulseaudio] module-jackdbus-detect.c: Unable to contact D-Bus session bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
    Jul 05 03:11:41 lorelai pulseaudio[450]: [pulseaudio] module.c: Failed to load module "module-jackdbus-detect" (argument: "channels=2"): initialization failed.
    Jul 05 03:11:41 lorelai pulseaudio[450]: [pulseaudio] main.c: Module load failed.
    Jul 05 03:13:35 lorelai systemd[1]: Stopping Music Player Daemon...
    Jul 05 03:13:35 lorelai systemd[1]: Stopped Music Player Daemon.
    but it doesn't seem to happen anymore.
    Also I have no idea if I'm even supposed to use it like this but
    » sudo systemctl --user enable mpd ~
    Failed to get D-Bus connection: Connection refused
    I tried this because I was wondering if mpd was even using the correct service when using systemd/User. I thought perhaps it just was using the one in /etc/systemd/system/ instead of /usr/lib/systemd/user/. I'm still not sure about this.
    In the end I've exhausted whatever I can think of. I'm sure I've done a lot of things wrong but I tried my best. Hopefully somebody knows what I've done wrong and can help me.
    ~/.config/mpd/mpd.conf
    # An example configuration file for MPD.
    # Read the user manual for documentation: http://www.musicpd.org/doc/user/
    # Files and directories #######################################################
    # This setting controls the top directory which MPD will search to discover the
    # available audio files and add them to the daemon's online database. This
    # setting defaults to the XDG directory, otherwise the music directory will be
    # be disabled and audio files will only be accepted over ipc socket (using
    # file:// protocol) or streaming files over an accepted protocol.
    music_directory "~/Music"
    # This setting sets the MPD internal playlist directory. The purpose of this
    # directory is storage for playlists created by MPD. The server will use
    # playlist files not created by the server but only if they are in the MPD
    # format. This setting defaults to playlist saving being disabled.
    playlist_directory "~/.config/mpd/playlists"
    # This setting sets the location of the MPD database. This file is used to
    # load the database at server start up and store the database while the
    # server is not up. This setting defaults to disabled which will allow
    # MPD to accept files over ipc socket (using file:// protocol) or streaming
    # files over an accepted protocol.
    db_file "~/.config/mpd/database"
    # These settings are the locations for the daemon log files for the daemon.
    # These logs are great for troubleshooting, depending on your log_level
    # settings.
    # The special value "syslog" makes MPD use the local syslog daemon. This
    # setting defaults to logging to syslog, otherwise logging is disabled.
    log_file "~/.config/mpd/log"
    # This setting sets the location of the file which stores the process ID
    # for use of mpd --kill and some init scripts. This setting is disabled by
    # default and the pid file will not be stored.
    pid_file "~/.config/mpd/pid"
    # This setting sets the location of the file which contains information about
    # most variables to get MPD back into the same general shape it was in before
    # it was brought down. This setting is disabled by default and the server
    # state will be reset on server start up.
    state_file "~/.config/mpd/state"
    # The location of the sticker database. This is a database which
    # manages dynamic information attached to songs.
    sticker_file "~/.config/mpd/sticker.sql"
    # General music daemon options ################################################
    # This setting specifies the user that MPD will run as. MPD should never run as
    # root and you may use this setting to make MPD change its user ID after
    # initialization. This setting is disabled by default and MPD is run as the
    # current user.
    #user "quiv"
    # This setting specifies the group that MPD will run as. If not specified
    # primary group of user specified with "user" setting will be used (if set).
    # This is useful if MPD needs to be a member of group such as "audio" to
    # have permission to use sound card.
    #group "nogroup"
    # This setting sets the address for the daemon to listen on. Careful attention
    # should be paid if this is assigned to anything other then the default, any.
    # This setting can deny access to control of the daemon.
    # For network
    bind_to_address "127.0.0.1"
    # And for Unix Socket
    bind_to_address "~/.config/mpd/socket"
    # This setting is the TCP port that is desired for the daemon to get assigned
    # to.
    port "6600"
    # This setting controls the type of information which is logged. Available
    # setting arguments are "default", "secure" or "verbose". The "verbose" setting
    # argument is recommended for troubleshooting, though can quickly stretch
    # available resources on limited hardware storage.
    log_level "default"
    # If you have a problem with your MP3s ending abruptly it is recommended that
    # you set this argument to "no" to attempt to fix the problem. If this solves
    # the problem, it is highly recommended to fix the MP3 files with vbrfix
    # (available from <http://www.willwap.co.uk/Programs/vbrfix.php>), at which
    # point gapless MP3 playback can be enabled.
    gapless_mp3_playback "yes"
    # Setting "restore_paused" to "yes" puts MPD into pause mode instead
    # of starting playback after startup.
    #restore_paused "no"
    # This setting enables MPD to create playlists in a format usable by other
    # music players.
    #save_absolute_paths_in_playlists "no"
    # This setting defines a list of tag types that will be extracted during the
    # audio file discovery process. The complete list of possible values can be
    # found in the mpd.conf man page.
    #metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
    # This setting enables automatic update of MPD's database when files in
    # music_directory are changed.
    auto_update "yes"
    # Limit the depth of the directories being watched, 0 means only watch
    # the music directory itself. There is no limit by default.
    auto_update_depth "3"
    # Symbolic link behavior ######################################################
    # If this setting is set to "yes", MPD will discover audio files by following
    # symbolic links outside of the configured music_directory.
    #follow_outside_symlinks "yes"
    # If this setting is set to "yes", MPD will discover audio files by following
    # symbolic links inside of the configured music_directory.
    #follow_inside_symlinks "yes"
    # Zeroconf / Avahi Service Discovery ##########################################
    # If this setting is set to "yes", service information will be published with
    # Zeroconf / Avahi.
    #zeroconf_enabled "yes"
    # The argument to this setting will be the Zeroconf / Avahi unique name for
    # this MPD server on the network.
    #zeroconf_name "Music Player"
    # Permissions #################################################################
    # If this setting is set, MPD will require password authorization. The password
    # can setting can be specified multiple times for different password profiles.
    #password "password@read,add,control,admin"
    # This setting specifies the permissions a user has who has not yet logged in.
    #default_permissions "read,add,control,admin"
    # Database #######################################################################
    #database {
    # plugin "proxy"
    # host "other.mpd.host"
    # port "6600"
    # Input #######################################################################
    input {
    plugin "curl"
    proxy "proxy.isp.com:8080"
    proxy_user "user"
    proxy_password "password"
    # Audio Output ################################################################
    # MPD supports various audio output types, as well as playing through multiple
    # audio outputs at the same time, through multiple audio_output settings
    # blocks. Setting this block is optional, though the server will only attempt
    # autodetection for one sound card.
    # An example of an ALSA output:
    #audio_output {
    # type "alsa"
    # name "My ALSA Device"
    ## device "hw:0,0" # optional
    ## mixer_type "hardware" # optional
    ## mixer_device "default" # optional
    ## mixer_control "PCM" # optional
    ## mixer_index "0" # optional
    audio_output {
    type "pulse"
    name "pulse audio"
    format "48000:16:2"
    ## server "127.0.0.1"
    ## sink "remote_server_sink" # optional
    # An example of an OSS output:
    #audio_output {
    # type "oss"
    # name "My OSS Device"
    ## device "/dev/dsp" # optional
    ## mixer_type "hardware" # optional
    ## mixer_device "/dev/mixer" # optional
    ## mixer_control "PCM" # optional
    # An example of a shout output (for streaming to Icecast):
    #audio_output {
    # type "shout"
    # encoding "ogg" # optional
    # name "My Shout Stream"
    # host "localhost"
    # port "8000"
    # mount "/mpd.ogg"
    # password "hackme"
    # quality "5.0"
    # bitrate "128"
    # format "44100:16:1"
    ## protocol "icecast2" # optional
    ## user "source" # optional
    ## description "My Stream Description" # optional
    ## url "http://example.com" # optional
    ## genre "jazz" # optional
    ## public "no" # optional
    ## timeout "2" # optional
    ## mixer_type "software" # optional
    # An example of a recorder output:
    #audio_output {
    # type "recorder"
    # name "My recorder"
    # encoder "vorbis" # optional, vorbis or lame
    # path "/var/lib/mpd/recorder/mpd.ogg"
    ## quality "5.0" # do not define if bitrate is defined
    # bitrate "128" # do not define if quality is defined
    # format "44100:16:1"
    # An example of a httpd output (built-in HTTP streaming server):
    #audio_output {
    # type "httpd"
    # name "My HTTP Stream"
    # encoder "vorbis" # optional, vorbis or lame
    # port "8000"
    # bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
    ## quality "5.0" # do not define if bitrate is defined
    # bitrate "128" # do not define if quality is defined
    # format "44100:16:1"
    # max_clients "0" # optional 0=no limit
    # An example of a pulseaudio output (streaming to a remote pulseaudio server)
    #audio_output {
    # type "pulse"
    # name "My Pulse Output"
    ## server "remote_server" # optional
    ## sink "remote_server_sink" # optional
    # An example of a winmm output (Windows multimedia API).
    #audio_output {
    # type "winmm"
    # name "My WinMM output"
    ## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
    # or
    ## device "0" # optional
    ## mixer_type "hardware" # optional
    # An example of an openal output.
    #audio_output {
    # type "openal"
    # name "My OpenAL output"
    ## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
    ## Example "pipe" output:
    #audio_output {
    # type "pipe"
    # name "my pipe"
    # command "aplay -f cd 2>/dev/null"
    ## Or if you're want to use AudioCompress
    # command "AudioCompress -m | aplay -f cd 2>/dev/null"
    ## Or to send raw PCM stream through PCM:
    # command "nc example.org 8765"
    # format "44100:16:2"
    ## An example of a null output (for no audio output):
    #audio_output {
    # type "null"
    # name "My Null Output"
    # mixer_type "none" # optional
    # If MPD has been compiled with libsamplerate support, this setting specifies
    # the sample rate converter to use. Possible values can be found in the
    # mpd.conf man page or the libsamplerate documentation. By default, this is
    # setting is disabled.
    #samplerate_converter "Fastest Sinc Interpolator"
    # Normalization automatic volume adjustments ##################################
    # This setting specifies the type of ReplayGain to use. This setting can have
    # the argument "off", "album", "track" or "auto". "auto" is a special mode that
    # chooses between "track" and "album" depending on the current state of
    # random playback. If random playback is enabled then "track" mode is used.
    # See <http://www.replaygain.org> for more details about ReplayGain.
    # This setting is off by default.
    replaygain "album"
    # This setting sets the pre-amp used for files that have ReplayGain tags. By
    # default this setting is disabled.
    replaygain_preamp "0"
    # This setting sets the pre-amp used for files that do NOT have ReplayGain tags.
    # By default this setting is disabled.
    #replaygain_missing_preamp "0"
    # This setting enables or disables ReplayGain limiting.
    # MPD calculates actual amplification based on the ReplayGain tags
    # and replaygain_preamp / replaygain_missing_preamp setting.
    # If replaygain_limit is enabled MPD will never amplify audio signal
    # above its original level. If replaygain_limit is disabled such amplification
    # might occur. By default this setting is enabled.
    #replaygain_limit "yes"
    # This setting enables on-the-fly normalization volume adjustment. This will
    # result in the volume of all playing audio to be adjusted so the output has
    # equal "loudness". This setting is disabled by default.
    #volume_normalization "no"
    # MPD Internal Buffering ######################################################
    # This setting adjusts the size of internal decoded audio buffering. Changing
    # this may have undesired effects. Don't change this if you don't know what you
    # are doing.
    #audio_buffer_size "4096"
    # This setting controls the percentage of the buffer which is filled before
    # beginning to play. Increasing this reduces the chance of audio file skipping,
    # at the cost of increased time prior to audio playback.
    #buffer_before_play "10%"
    # Resource Limitations ########################################################
    # These settings are various limitations to prevent MPD from using too many
    # resources. Generally, these settings should be minimized to prevent security
    # risks, depending on the operating resources.
    #connection_timeout "60"
    #max_connections "10"
    #max_playlist_length "16384"
    #max_command_list_size "2048"
    #max_output_buffer_size "8192"
    # Character Encoding ##########################################################
    # If file or directory names do not display correctly for your locale then you
    # may need to modify this setting.
    #filesystem_charset "UTF-8"
    # This setting controls the encoding that ID3v1 tags should be converted from.
    #id3v1_encoding "ISO-8859-1"
    # SIDPlay decoder #############################################################
    # songlength_database:
    # Location of your songlengths file, as distributed with the HVSC.
    # The sidplay plugin checks this for matching MD5 fingerprints.
    # See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq
    # default_songlength:
    # This is the default playing time in seconds for songs not in the
    # songlength database, or in case you're not using a database.
    # A value of 0 means play indefinitely.
    # filter:
    # Turns the SID filter emulation on or off.
    #decoder {
    # plugin "sidplay"
    # songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt"
    # default_songlength "120"
    # filter "true"
    /etc/mpd.config
    # An example configuration file for MPD.
    # Read the user manual for documentation: http://www.musicpd.org/doc/user/
    # Files and directories #######################################################
    # This setting controls the top directory which MPD will search to discover the
    # available audio files and add them to the daemon's online database. This
    # setting defaults to the XDG directory, otherwise the music directory will be
    # be disabled and audio files will only be accepted over ipc socket (using
    # file:// protocol) or streaming files over an accepted protocol.
    music_directory "~/Music"
    # This setting sets the MPD internal playlist directory. The purpose of this
    # directory is storage for playlists created by MPD. The server will use
    # playlist files not created by the server but only if they are in the MPD
    # format. This setting defaults to playlist saving being disabled.
    playlist_directory "~/.config/mpd/playlists"
    # This setting sets the location of the MPD database. This file is used to
    # load the database at server start up and store the database while the
    # server is not up. This setting defaults to disabled which will allow
    # MPD to accept files over ipc socket (using file:// protocol) or streaming
    # files over an accepted protocol.
    db_file "~/.config/mpd/database"
    # These settings are the locations for the daemon log files for the daemon.
    # These logs are great for troubleshooting, depending on your log_level
    # settings.
    # The special value "syslog" makes MPD use the local syslog daemon. This
    # setting defaults to logging to syslog, otherwise logging is disabled.
    log_file "~/.config/mpd/log"
    # This setting sets the location of the file which stores the process ID
    # for use of mpd --kill and some init scripts. This setting is disabled by
    # default and the pid file will not be stored.
    pid_file "~/.config/mpd/pid"
    # This setting sets the location of the file which contains information about
    # most variables to get MPD back into the same general shape it was in before
    # it was brought down. This setting is disabled by default and the server
    # state will be reset on server start up.
    state_file "~/.config/mpd/state"
    # The location of the sticker database. This is a database which
    # manages dynamic information attached to songs.
    sticker_file "~/.config/mpd/sticker.sql"
    # General music daemon options ################################################
    # This setting specifies the user that MPD will run as. MPD should never run as
    # root and you may use this setting to make MPD change its user ID after
    # initialization. This setting is disabled by default and MPD is run as the
    # current user.
    user "quiv"
    # This setting specifies the group that MPD will run as. If not specified
    # primary group of user specified with "user" setting will be used (if set).
    # This is useful if MPD needs to be a member of group such as "audio" to
    # have permission to use sound card.
    #group "nogroup"
    # This setting sets the address for the daemon to listen on. Careful attention
    # should be paid if this is assigned to anything other then the default, any.
    # This setting can deny access to control of the daemon.
    # For network
    bind_to_address "127.0.0.1"
    # And for Unix Socket
    bind_to_address "~/.config/mpd/socket"
    # This setting is the TCP port that is desired for the daemon to get assigned
    # to.
    port "6600"
    # This setting controls the type of information which is logged. Available
    # setting arguments are "default", "secure" or "verbose". The "verbose" setting
    # argument is recommended for troubleshooting, though can quickly stretch
    # available resources on limited hardware storage.
    log_level "default"
    # If you have a problem with your MP3s ending abruptly it is recommended that
    # you set this argument to "no" to attempt to fix the problem. If this solves
    # the problem, it is highly recommended to fix the MP3 files with vbrfix
    # (available from <http://www.willwap.co.uk/Programs/vbrfix.php>), at which
    # point gapless MP3 playback can be enabled.
    gapless_mp3_playback "yes"
    # Setting "restore_paused" to "yes" puts MPD into pause mode instead
    # of starting playback after startup.
    #restore_paused "no"
    # This setting enables MPD to create playlists in a format usable by other
    # music players.
    #save_absolute_paths_in_playlists "no"
    # This setting defines a list of tag types that will be extracted during the
    # audio file discovery process. The complete list of possible values can be
    # found in the mpd.conf man page.
    #metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
    # This setting enables automatic update of MPD's database when files in
    # music_directory are changed.
    auto_update "yes"
    # Limit the depth of the directories being watched, 0 means only watch
    # the music directory itself. There is no limit by default.
    auto_update_depth "3"
    # Symbolic link behavior ######################################################
    # If this setting is set to "yes", MPD will discover audio files by following
    # symbolic links outside of the configured music_directory.
    #follow_outside_symlinks "yes"
    # If this setting is set to "yes", MPD will discover audio files by following
    # symbolic links inside of the configured music_directory.
    #follow_inside_symlinks "yes"
    # Zeroconf / Avahi Service Discovery ##########################################
    # If this setting is set to "yes", service information will be published with
    # Zeroconf / Avahi.
    #zeroconf_enabled "yes"
    # The argument to this setting will be the Zeroconf / Avahi unique name for
    # this MPD server on the network.
    #zeroconf_name "Music Player"
    # Permissions #################################################################
    # If this setting is set, MPD will require password authorization. The password
    # can setting can be specified multiple times for different password profiles.
    #password "password@read,add,control,admin"
    # This setting specifies the permissions a user has who has not yet logged in.
    #default_permissions "read,add,control,admin"
    # Database #######################################################################
    #database {
    # plugin "proxy"
    # host "other.mpd.host"
    # port "6600"
    # Input #######################################################################
    input {
    plugin "curl"
    proxy "proxy.isp.com:8080"
    proxy_user "user"
    proxy_password "password"
    # Audio Output ################################################################
    # MPD supports various audio output types, as well as playing through multiple
    # audio outputs at the same time, through multiple audio_output settings
    # blocks. Setting this block is optional, though the server will only attempt
    # autodetection for one sound card.
    # An example of an ALSA output:
    #audio_output {
    # type "alsa"
    # name "My ALSA Device"
    ## device "hw:0,0" # optional
    ## mixer_type "hardware" # optional
    ## mixer_device "default" # optional
    ## mixer_control "PCM" # optional
    ## mixer_index "0" # optional
    audio_output {
    type "pulse"
    name "pulse audio"
    format "48000:16:2"
    server "127.0.0.1"
    ## sink "remote_server_sink" # optional
    # An example of an OSS output:
    #audio_output {
    # type "oss"
    # name "My OSS Device"
    ## device "/dev/dsp" # optional
    ## mixer_type "hardware" # optional
    ## mixer_device "/dev/mixer" # optional
    ## mixer_control "PCM" # optional
    # An example of a shout output (for streaming to Icecast):
    #audio_output {
    # type "shout"
    # encoding "ogg" # optional
    # name "My Shout Stream"
    # host "localhost"
    # port "8000"
    # mount "/mpd.ogg"
    # password "hackme"
    # quality "5.0"
    # bitrate "128"
    # format "44100:16:1"
    ## protocol "icecast2" # optional
    ## user "source" # optional
    ## description "My Stream Description" # optional
    ## url "http://example.com" # optional
    ## genre "jazz" # optional
    ## public "no" # optional
    ## timeout "2" # optional
    ## mixer_type "software" # optional
    # An example of a recorder output:
    #audio_output {
    # type "recorder"
    # name "My recorder"
    # encoder "vorbis" # optional, vorbis or lame
    # path "/var/lib/mpd/recorder/mpd.ogg"
    ## quality "5.0" # do not define if bitrate is defined
    # bitrate "128" # do not define if quality is defined
    # format "44100:16:1"
    # An example of a httpd output (built-in HTTP streaming server):
    #audio_output {
    # type "httpd"
    # name "My HTTP Stream"
    # encoder "vorbis" # optional, vorbis or lame
    # port "8000"
    # bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
    ## quality "5.0" # do not define if bitrate is defined
    # bitrate "128" # do not define if quality is defined
    # format "44100:16:1"
    # max_clients "0" # optional 0=no limit
    # An example of a pulseaudio output (streaming to a remote pulseaudio server)
    #audio_output {
    # type "pulse"
    # name "My Pulse Output"
    ## server "remote_server" # optional
    ## sink "remote_server_sink" # optional
    # An example of a winmm output (Windows multimedia API).
    #audio_output {
    # type "winmm"
    # name "My WinMM output"
    ## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
    # or
    ## device "0" # optional
    ## mixer_type "hardware" # optional
    # An example of an openal output.
    #audio_output {
    # type "openal"
    # name "My OpenAL output"
    ## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
    ## Example "pipe" output:
    #audio_output {
    # type "pipe"
    # name "my pipe"
    # command "aplay -f cd 2>/dev/null"
    ## Or if you're want to use AudioCompress
    # command "AudioCompress -m | aplay -f cd 2>/dev/null"
    ## Or to send raw PCM stream through PCM:
    # command "nc example.org 8765"
    # format "44100:16:2"
    ## An example of a null output (for no audio output):
    #audio_output {
    # type "null"
    # name "My Null Output"
    # mixer_type "none" # optional
    # If MPD has been compiled with libsamplerate support, this setting specifies
    # the sample rate converter to use. Possible values can be found in the
    # mpd.conf man page or the libsamplerate documentation. By default, this is
    # setting is disabled.
    #samplerate_converter "Fastest Sinc Interpolator"
    # Normalization automatic volume adjustments ##################################
    # This setting specifies the type of ReplayGain to use. This setting can have
    # the argument "off", "album", "track" or "auto". "auto" is a special mode that
    # chooses between "track" and "album" depending on the current state of
    # random playback. If random playback is enabled then "track" mode is used.
    # See <http://www.replaygain.org> for more details about ReplayGain.
    # This setting is off by default.
    replaygain "album"
    # This setting sets the pre-amp used for files that have ReplayGain tags. By
    # default this setting is disabled.
    replaygain_preamp "0"
    # This setting sets the pre-amp used for files that do NOT have ReplayGain tags.
    # By default this setting is disabled.
    #replaygain_missing_preamp "0"
    # This setting enables or disables ReplayGain limiting.
    # MPD calculates actual amplification based on the ReplayGain tags
    # and replaygain_preamp / replaygain_missing_preamp setting.
    # If replaygain_limit is enabled MPD will never amplify audio signal
    # above its original level. If replaygain_limit is disabled such amplification
    # might occur. By default this setting is enabled.
    #replaygain_limit "yes"
    # This setting enables on-the-fly normalization volume adjustment. This will
    # result in the volume of all playing audio to be adjusted so the output has
    # equal "loudness". This setting is disabled by default.
    #volume_normalization "no"
    # MPD Internal Buffering ######################################################
    # This setting adjusts the size of internal decoded audio buffering. Changing
    # this may have undesired effects. Don't change this if you don't know what you
    # are doing.
    #audio_buffer_size "4096"
    # This setting controls the percentage of the buffer which is filled before
    # beginning to play. Increasing this reduces the chance of audio file skipping,
    # at the cost of increased time prior to audio playback.
    #buffer_before_play "10%"
    # Resource Limitations ########################################################
    # These settings are various limitations to prevent MPD from using too many
    # resources. Generally, these settings should be minimized to prevent security
    # risks, depending on the operating resources.
    #connection_timeout "60"
    #max_connections "10"
    #max_playlist_length "16384"
    #max_command_list_size "2048"
    #max_output_buffer_size "8192"
    # Character Encoding ##########################################################
    # If file or directory names do not display correctly for your locale then you
    # may need to modify this setting.
    #filesystem_charset "UTF-8"
    # This setting controls the encoding that ID3v1 tags should be converted from.
    #id3v1_encoding "ISO-8859-1"
    # SIDPlay decoder #############################################################
    # songlength_database:
    # Location of your songlengths file, as distributed with the HVSC.
    # The sidplay plugin checks this for matching MD5 fingerprints.
    # See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq
    # default_songlength:
    # This is the default playing time in seconds for songs not in the
    # songlength database, or in case you're not using a database.
    # A value of 0 means play indefinitely.
    # filter:
    # Turns the SID filter emulation on or off.
    #decoder {
    # plugin "sidplay"
    # songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt"
    # default_songlength "120"
    # filter "true"
    /etc/X11/xinit/xinitrc.d/pulseaudio [not sure if I even need this?]
    #!/bin/bash
    case "$DESKTOP_SESSION" in
    gnome|kde*|xfce*) # PulseAudio is started via XDG Autostart
    # Extra checks in case DESKTOP_SESSION is not set correctly
    if [[ -z $KDE_FULL_SESSION && -z $GNOME_DESKTOP_SESSION_ID ]]; then
    /usr/bin/start-pulseaudio-x11
    fi
    esac
    /etc/pulse/daemon.conf
    # This file is part of PulseAudio.
    # PulseAudio is free software; you can redistribute it and/or modify
    # it under the terms of the GNU Lesser General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    # PulseAudio is distributed in the hope that it will be useful, but
    # WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    # General Public License for more details.
    # You should have received a copy of the GNU Lesser General Public License
    # along with PulseAudio; if not, write to the Free Software
    # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
    # USA.
    ## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
    ## more information. Default values are commented out. Use either ; or # for
    ## commenting.
    ; daemonize = no
    ; fail = yes
    ; allow-module-loading = yes
    ; allow-exit = yes
    ; use-pid-file = yes
    ; system-instance = no
    ; local-server-type = user
    ; enable-shm = yes
    ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
    ; lock-memory = no
    ; cpu-limit = no
    ; high-priority = yes
    ; nice-level = -11
    ; realtime-scheduling = yes
    ; realtime-priority = 5
    exit-idle-time=0
    ; exit-idle-time = 20
    ; scache-idle-time = 20
    ; dl-search-path = (depends on architecture)
    ; load-default-script-file = yes
    ; default-script-file = /etc/pulse/default.pa
    ; log-target = auto
    log-level = error
    ; log-meta = no
    ; log-time = no
    ; log-backtrace = 0
    resample-method = speex-float-7
    ; enable-remixing = yes
    ; enable-lfe-remixing = no
    flat-volumes = no
    ; rlimit-fsize = -1
    ; rlimit-data = -1
    ; rlimit-stack = -1
    ; rlimit-core = -1
    ; rlimit-as = -1
    ; rlimit-rss = -1
    ; rlimit-nproc = -1
    ; rlimit-nofile = 256
    ; rlimit-memlock = -1
    ; rlimit-locks = -1
    ; rlimit-sigpending = -1
    ; rlimit-msgqueue = -1
    ; rlimit-nice = 31
    ; rlimit-rtprio = 9
    ; rlimit-rttime = 1000000
    default-sample-format = s24le
    default-sample-rate = 48000
    ; alternate-sample-rate = 48000
    ; default-sample-channels = 2
    ; default-channel-map = front-left,front-right
    default-fragments = 2
    default-fragment-size-msec = 76
    ; enable-deferred-volume = yes
    ; deferred-volume-safety-margin-usec = 8000
    ; deferred-volume-extra-delay-usec = 0
    /etc/pulse/default.pa
    #!/usr/bin/pulseaudio -nF
    # This file is part of PulseAudio.
    # PulseAudio is free software; you can redistribute it and/or modify it
    # under the terms of the GNU Lesser General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    # PulseAudio is distributed in the hope that it will be useful, but
    # WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    # General Public License for more details.
    # You should have received a copy of the GNU Lesser General Public License
    # along with PulseAudio; if not, write to the Free Software Foundation,
    # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
    # This startup script is used only if PulseAudio is started per-user
    # (i.e. not in system mode)
    .nofail
    ### Load something into the sample cache
    #load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
    #load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
    #load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
    #load-sample-lazy pulse-access /usr/share/sounds/generic.wav
    .fail
    ### Automatically restore the volume of streams and devices
    load-module module-device-restore
    load-module module-stream-restore
    load-module module-card-restore
    ### Automatically augment property information from .desktop files
    ### stored in /usr/share/application
    load-module module-augment-properties
    ### Should be after module-*-restore but before module-*-detect
    load-module module-switch-on-port-available
    ### Load audio drivers statically
    ### (it's probably better to not load these drivers manually, but instead
    ### use module-udev-detect -- see below -- for doing this automatically)
    #load-module module-alsa-sink
    #load-module module-alsa-source device=hw:1,0
    #load-module module-oss device="/dev/dsp" sink_name=output source_name=input
    #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
    #load-module module-null-sink
    #load-module module-pipe-sink
    ### Automatically load driver modules depending on the hardware available
    .ifexists module-udev-detect.so
    load-module module-udev-detect
    .else
    ### Use the static hardware detection module (for systems that lack udev support)
    load-module module-detect
    .endif
    ### Automatically connect sink and source if JACK server is present
    .ifexists module-jackdbus-detect.so
    .nofail
    load-module module-jackdbus-detect channels=2
    .fail
    .endif
    ### Automatically load driver modules for Bluetooth hardware
    #.ifexists module-bluetooth-policy.so
    #load-module module-bluetooth-policy
    #.endif
    #.ifexists module-bluetooth-discover.so
    #load-module module-bluetooth-discover
    #.endif
    ### Load several protocols
    .ifexists module-esound-protocol-unix.so
    load-module module-esound-protocol-unix
    .endif
    load-module module-native-protocol-unix
    ### Network access (may be configured with paprefs, so leave this commented
    ### here if you plan to use paprefs)
    #load-module module-esound-protocol-tcp
    load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
    #load-module module-zeroconf-publish
    ### Load the RTP receiver module (also configured via paprefs, see above)
    #load-module module-rtp-recv
    ### Load the RTP sender module (also configured via paprefs, see above)
    #load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
    #load-module module-rtp-send source=rtp.monitor
    ### Load additional modules from GConf settings. This can be configured with the paprefs tool.
    ### Please keep in mind that the modules configured by paprefs might conflict with manually
    ### loaded modules.
    .ifexists module-gconf.so
    .nofail
    load-module module-gconf
    .fail
    .endif
    ### Automatically restore the default sink/source when changed by the user
    ### during runtime
    ### NOTE: This should be loaded as early as possible so that subsequent modules
    ### that look up the default sink/source get the right value
    load-module module-default-device-restore
    ### Automatically move streams to the default sink if the sink they are
    ### connected to dies, similar for sources
    load-module module-rescue-streams
    ### Make sure we always have a sink around, even if it is a null sink.
    load-module module-always-sink
    ### Honour intended role device property
    load-module module-intended-roles
    ### Automatically suspend sinks/sources that become idle for too long
    load-module module-suspend-on-idle
    ### If autoexit on idle is enabled we want to make sure we only quit
    ### when no local session needs us anymore.
    .ifexists module-console-kit.so
    load-module module-console-kit
    .endif
    .ifexists module-systemd-login.so
    load-module module-systemd-login
    .endif
    ### Enable positioned event sounds
    load-module module-position-event-sounds
    ### Cork music/video streams when a phone stream is active
    load-module module-role-cork
    ### Modules to allow autoloading of filters (such as echo cancellation)
    ### on demand. module-filter-heuristics tries to determine what filters
    ### make sense, and module-filter-apply does the heavy-lifting of
    ### loading modules and rerouting streams.
    load-module module-filter-heuristics
    load-module module-filter-apply
    # X11 modules should not be started from default.pa so that one daemon
    # can be shared by multiple sessions.
    ### Load X11 bell module
    #load-module module-x11-bell sample=bell-windowing-system
    ### Register ourselves in the X11 session manager
    #load-module module-x11-xsmp
    ### Publish connection data in the X11 root window
    #.ifexists module-x11-publish.so
    #.nofail
    #load-module module-x11-publish
    #.fail
    #.endif
    ### Make some devices default
    #set-default-sink output
    #set-default-source input
    ~/.xinitrc [currently using daemon mpd]
    #!/bin/sh
    # ~/.xinitrc
    # Executed by startx (run your window manager from here)
    if [ -d /etc/X11/xinit/xinitrc.d ]; then
    for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
    done
    unset f
    fi
    #if grep -q "state: pause" /home/quiv/.config/mpd/state; then
    # mpc toggle
    #fi
    #mpd ~/.config/mpd/mpd.conf
    ~/.config/bspwm/panel/notify_mpd
    xrdb ~/.Xresources
    xset +fp ~/.fonts
    xset +fp /usr/share/fonts/misc
    xset fp rehash
    xsetroot -cursor_name left_ptr &
    # imlibsetroot -x e -s f /home/quiv/Pictures/bloom_one_desktop.jpg
    sh ~/.fehbg &
    compton -CGb --backend glx --paint-on-overlay --vsync opengl-swc &
    # exec gnome-session
    # exec startkde
    # exec startxfce4
    # ...or the Window Manager of your choice
    sxhkd &
    exec bspwm
    ~/.zprofile [currently trying to use systemd/User]
    #[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
    EDIT:A small update; it seems I don't need to have /etc/systemd/system/[email protected]/autologin.conf when using systemd to manag my user session as I removed it and I'm both automatically logged on and in X-session.
    Last edited by quiv (2014-07-05 13:40:30)

    o_caino wrote:
    Setting mpd as a systemd user service is very simple. This is what I did.
    In ~/.config/systemd/user/mpd.service
    [Unit]
    Description=Music Player Daemon
    After=network.target sound.target
    [Service]
    ExecStart=/usr/bin/mpd --no-daemon
    ExecStop=/usr/bin/mpd --kill
    [Install]
    WantedBy=default.target
    To enable
    systemctl --user enable mpd
    Done.
    Well shit. I guess I didn't need to do all that other stuff. I only wish I'd known about this before wasting most of my day. Thank you very much, everything appears to be working flawlessly now.

  • [SOLVED]dbus and systemd: "systemctl --user" gets "Connection refused"

    Hi,
    I want to enable some systemd user service. Here is what I get
    $ LANG=C systemctl --user
    Failed to get D-Bus connection: Connection refused
    $ echo $DBUS_SESSION_BUS_ADDRESS
    unix:abstract=/tmp/dbus-RboLZS2wF3,guid=feb8bd85248906d12a826acd54e3c4ad
    I don't believe I've ever touched dbus, so I'm a bit lost. There's the following line in my ~/.xinitrc:
    exec dbus-launch xmonad
    Seems like I'm not the only one with trouble on that topic, but I could not solve my problem.
    Additional resources:
    1. relevant pstree information
    systemd-+-acpid
    |-at-spi-bus-laun-+-dbus-daemon
    | |-{dconf worker}
    | |-{gdbus}
    | `-{gmain}
    |-3*[dbus-daemon]
    |-dbus-launch
    |-login---startx---xinit-+-Xorg
    | `-xmonad-x86_64-l-+-tons
    | |-of
    | |-stuff
    |-polkitd-+-{JS GC Helper}
    | |-{JS Sour~ Thread}
    | |-{gdbus}
    | |-{gmain}
    | `-{runaway-killer-}
    |-systemd---(sd-pam)
    |-systemd-journal
    |-systemd-logind
    |-systemd-udevd
    2.
    $ pgrep -af systemd
    1 /usr/lib/systemd/systemd --system --deserialize 16
    149 /usr/lib/systemd/systemd-journald
    171 /usr/lib/systemd/systemd-udevd
    257 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
    263 /usr/lib/systemd/systemd-logind
    316 /usr/lib/systemd/systemd --user
    3.
    $ pgrep -af dbus
    257 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
    385 dbus-launch --sh-syntax --exit-with-session
    386 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
    459 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
    470 /usr/bin/dbus-daemon --config-file=/etc/at-spi2/accessibility.conf --nofork --print-address 3
    4. Playing with processus #1
    - Killing it doesn't change anything
    $ /usr/lib/systemd/systemd --user
    Failed to create root cgroup hierarchy: Permission denied
    Failed to allocate manager object: Permission denied
    $ sudo /usr/lib/systemd/systemd --user
    Trying to run as user instance, but $XDG_RUNTIME_DIR is not set.
    $ echo $XDG_RUNTIME_DIR
    /run/user/1000
    $ sudo -i
    # XDG_RUNTIME_DIR=/run/user/1000 /usr/lib/systemd/systemd
    Startup finished in 41ms. // keeps running
    But I still cannot do "systemctl --user"....
    Last edited by Laugarhraun (2015-02-18 17:03:57)

    Heyyy I'm dumb!
    $ alias systemctl
    alias systemctl='sudo systemctl'
    $ LANG=C /usr/bin/systemctl --user
    Failed to list units: Process org.freedesktop.systemd1 exited with status 1
    New error = progress! yay!

  • [Solved] postgresql with systemd

    Hello Guys,
    I'm having problems starting the postgres with systemd.
    Following errors:
    Running systemctl start postgresql
    k@archK ~ % sudo systemctl start postgresql
    Job for postgresql.service failed. See 'systemctl status postgresql.service' and 'journalctl -xn' for details.
    1 k@archK ~ %
    Running systemctl status postgresql.service got the message below:
    k@archK ~ % systemctl status postgresql.service
    postgresql.service - PostgreSQL database server
    Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled)
    Active: failed (Result: exit-code) since Sáb, 2012-12-29 19:09:19 BRT; 1min 19s ago
    Process: 1746 ExecStart=/usr/bin/pg_ctl -s -D ${PGROOT}/data start -w -t 120 (code=exited, status=1/FAILURE)
    Process: 1741 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data (code=exited, status=0/SUCCESS)
    CGroup: name=systemd:/system/postgresql.service
    3 k@archK ~ %
    and journalctl -xn this:
    k@archK ~ % sudo journalctl -xn
    [sudo] password for k:
    -- Logs begin at Sáb, 2012-12-29 03:47:42 BRT, end at Sáb, 2012-12-29 19:11:49 BRT. --
    Dez 29 19:09:19 archK systemd[1]: postgresql.service: control process exited, code=exited status=1
    Dez 29 19:09:19 archK systemd[1]: Failed to start PostgreSQL database server.
    -- Subject: Unit postgresql.service has failed
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    -- Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/be02cf6855d2428ba40df7e9d022f03d
    -- Unit postgresql.service has failed.
    -- The result is failed.
    Dez 29 19:09:19 archK systemd[1]: Unit postgresql.service entered failed state
    Dez 29 19:09:19 archK sudo[1738]: pam_unix(sudo:session): session closed for user root
    Dez 29 19:11:27 archK udisks-daemon[430]: **** Refreshing ATA SMART data for /sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda
    Dez 29 19:11:27 archK udisks-daemon[430]: helper(pid 1781): launched job udisks-helper-ata-smart-collect on /dev/sda
    Dez 29 19:11:28 archK udisks-daemon[430]: helper(pid 1781): completed with exit code 0
    Dez 29 19:11:28 archK udisks-daemon[430]: **** EMITTING CHANGED for /sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda
    Dez 29 19:11:49 archK sudo[1786]: k : TTY=pts/0 ; PWD=/home/k ; USER=root ; COMMAND=/usr/bin/journalctl -xn
    Dez 29 19:11:49 archK sudo[1786]: pam_unix(sudo:session): session opened for user root by k(uid=0)
    Here is the postgresql.service
    [Unit]
    Description=PostgreSQL database server
    After=network.target
    [Service]
    Type=forking
    TimeoutSec=120
    User=postgres
    Group=postgres
    Environment=PGROOT=/var/lib/postgres
    SyslogIdentifier=postgres
    PIDFile=/var/lib/postgres/data/postmaster.pid
    ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data
    ExecStart= /usr/bin/pg_ctl -s -D ${PGROOT}/data start -w -t 120
    ExecReload=/usr/bin/pg_ctl -s -D ${PGROOT}/data reload
    ExecStop= /usr/bin/pg_ctl -s -D ${PGROOT}/data stop -m fast
    # Due to PostgreSQL's use of shared memory, OOM killer is often overzealous in
    # killing Postgres, so adjust it downward
    OOMScoreAdjust=-200
    [Install]
    WantedBy=multi-user.target
    and /etc/conf.d/postgresql
    ## Parameters to be passed to postgresql
    ## Default data directory location
    PGROOT="/var/lib/postgres"
    ## Passed to initdb if necessary
    INITOPTS="--locale en_US.UTF-8"
    ## Default log file location
    #PGLOG="/var/log/postgresql.log"
    ## Additional options to pass via pg_ctl's '-o' option
    #PGOPTS=""
    Does anyone have any idea how to fix this?
    Thanks.
    Last edited by kleitonkk (2013-01-03 23:51:41)

    Sorry for the delay, was traveling and just returned yesterday.
    lothar_m was followed as described in the post, since removed the packages twice and did the install again but the same error.
    [root@archK conf.d]# systemctl start postgresql
    Job for postgresql.service failed. See 'systemctl status postgresql.service' and 'journalctl -xn' for details.
    [root@archK conf.d]#
    systemctl status postgresql.service
    ➜ ~ systemctl status postgresql.service
    postgresql.service - PostgreSQL database server
    Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled)
    Active: failed (Result: exit-code) since Thu, 2013-01-03 18:14:43 BRT; 9min ago
    Process: 10897 ExecStart=/usr/bin/pg_ctl -s -D ${PGROOT}/data start -w -t 120 (code=exited, status=1/FAILURE)
    Process: 10892 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data (code=exited, status=0/SUCCESS)
    CGroup: name=systemd:/system/postgresql.service
    ➜ ~
    [root@archK conf.d]# journalctl -xn
    -- Logs begin at Wed, 2013-01-02 16:50:57 BRT, end at Thu, 2013-01-03 18:34:41 BRT. --
    Jan 03 18:25:28 archK su[11082]: pam_unix(su:session): session opened for user root by k(uid=1000)
    Jan 03 18:34:36 archK systemd[1]: Starting PostgreSQL database server...
    -- Subject: Unit postgresql.service has begun with start-up
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    -- Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/7d4958e842da4a758f6c1cdc7b36dcc5
    -- Unit postgresql.service has begun starting up.
    Jan 03 18:34:36 archK postgres[11127]: LOG: could not translate host name "localhost", service "5432" to address: Name or service not known
    Jan 03 18:34:36 archK postgres[11127]: WARNING: could not create listen socket for "localhost"
    Jan 03 18:34:36 archK postgres[11127]: FATAL: could not create any TCP/IP sockets
    Jan 03 18:34:41 archK postgres[11127]: pg_ctl: could not start server
    Jan 03 18:34:41 archK postgres[11127]: Examine the log output.
    Jan 03 18:34:41 archK systemd[1]: postgresql.service: control process exited, code=exited status=1
    Jan 03 18:34:41 archK systemd[1]: Failed to start PostgreSQL database server.
    -- Subject: Unit postgresql.service has failed
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    -- Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/be02cf6855d2428ba40df7e9d022f03d
    -- Unit postgresql.service has failed.
    -- The result is failed.
    Jan 03 18:34:41 archK systemd[1]: Unit postgresql.service entered failed state
    /usr/lib/systemd/system/postgresql.service
    [Unit]
    Description=PostgreSQL database server
    After=network.target
    [Service]
    Type=forking
    TimeoutSec=120
    User=postgres
    Group=postgres
    Environment=PGROOT=/var/lib/postgres
    SyslogIdentifier=postgres
    PIDFile=/var/lib/postgres/data/postmaster.pid
    ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data
    ExecStart= /usr/bin/pg_ctl -s -D ${PGROOT}/data start -w -t 120
    ExecReload=/usr/bin/pg_ctl -s -D ${PGROOT}/data reload
    ExecStop= /usr/bin/pg_ctl -s -D ${PGROOT}/data stop -m fast
    # Due to PostgreSQL's use of shared memory, OOM killer is often overzealous in
    # killing Postgres, so adjust it downward
    OOMScoreAdjust=-200
    [Install]
    WantedBy=multi-user.target
    ➜ ~ pacman -Q |grep postgres
    postgresql 9.2.2-2
    postgresql-libs 9.2.2-2
    ➜ ~
    /etc/conf.d
    ## Parameters to be passed to postgresql
    ## Default data directory location
    PGROOT="/var/lib/postgres"
    ## Passed to initdb if necessary
    INITOPTS="--locale en_US.UTF-8"
    ## Default log file location
    #PGLOG="/var/log/postgresql.log"
    ## Additional options to pass via pg_ctl's '-o' option
    #PGOPTS=""
    /usr/lib/systemd/system/postgresql.service
    [Unit]
    Description=PostgreSQL database server
    After=network.target
    [Service]
    Type=forking
    TimeoutSec=120
    User=postgres
    Group=postgres
    Environment=PGROOT=/var/lib/postgres
    SyslogIdentifier=postgres
    PIDFile=/var/lib/postgres/data/postmaster.pid
    ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data
    ExecStart= /usr/bin/pg_ctl -s -D ${PGROOT}/data start -w -t 120
    ExecReload=/usr/bin/pg_ctl -s -D ${PGROOT}/data reload
    ExecStop= /usr/bin/pg_ctl -s -D ${PGROOT}/data stop -m fast
    # Due to PostgreSQL's use of shared memory, OOM killer is often overzealous in
    # killing Postgres, so adjust it downward
    OOMScoreAdjust=-200
    [Install]
    WantedBy=multi-user.target
    I'm still looking for how to solve.
    Thank you.

  • [SOLVED] A custom systemd service doesn't execute a specific command

    I have made a custom service which should set screen brightness.
    file: /etc/systemd/system/backlight100.service
    [Unit]
    Description=Set screen brightness
    [Service]
    Type=oneshot
    ExecStart=/bin/echo 100 > /sys/class/backlight/intel_backlight/brightness
    ExecStart=/usr/bin/beep
    [Install]
    WantedBy=multi-user.target
    (beep is there so I can know for sure that the script runs)
    The problem is, when I run "# systemctl start backlight100.service" I can hear the beep but it doesn't change the brightness. When I run "/bin/echo 100 > /sys/class/backlight/intel_backlight/brightness" in terminal it does change the brightness... but not when I start or restart the service.
    Here's the output of systemctl status backlight100.service after starting it
    backlight100.service - Set screen brightness
    Loaded: loaded (/etc/systemd/system/backlight100.service; enabled)
    Active: inactive (dead) since Fri 2013-04-05 20:17:32 AMT; 3min 19s ago
    Process: 27698 ExecStart=/usr/bin/beep (code=exited, status=0/SUCCESS)
    Process: 27696 ExecStart=/bin/echo 100 > /sys/class/backlight/intel_backlight/brightness (code=exited, status=0/SUCCESS)
    Apr 05 20:17:32 work systemd[1]: Starting Set screen brightness...
    Apr 05 20:17:32 work echo[27696]: 100 > /sys/class/backlight/intel_back...ss
    Apr 05 20:17:32 work systemd[1]: Started Set screen brightness.
    What am I doing wrong here? Any help appreciated.
    Last edited by axper (2013-04-05 18:35:24)

    msthev wrote:$ man systemd.service
    ExecStart=
    Note that this setting does not directly support shell command
    lines. If shell command lines are to be used they need to be passed
    explicitly to a shell implementation of some kind. Example:
    ExecStart=/bin/sh -c 'dmesg | tac'
    Thanks, changing ExecStart line to
    ExecStart=/bin/bash -c '/bin/echo 100 > /sys/class/backlight/intel_backlight/brightness'
    solved the issue. Though I can recall seeing ExecStart lines with direct shell commands.
    Raynman wrote:
    You should look at tmpfiles.d.
    https://wiki.archlinux.org/index.php/Sy … rary_files
    I'll do that, thanks!

  • [SOLVED] Help with systemd .service script

    Hello,
    I have been using ArchLinux (ARM version) on some “plug computers” for over a year and love it.  Recently I forced myself to move to systemd by upgrading all my computers from scratch.  I migrated all my applications and learned new ways of doing things but am having trouble with one last migration.  I run a c++ communication program that monitors a TCP port for traffic.  In the past I started this program (daemon) from an entry in rc.conf.  I have read all I can about systemd’s new approach to starting daemons (https://wiki.archlinux.org/index.php/Systemd and https://wiki.archlinux.org/index.php/Systemd/Services)
    So far I created what I thought is the correct systemd .service file listed below.
    [Unit]
    Description=EQBCS
    After=network.target
    [Service]
    Type=simple
    ExecStart=/home/public/EQBCS/eqbcs -p 12947 -d &> /dev/null
    [Install]
    WantedBy=multi-user.target
    I put this file in /usr/lib/systemd/system/eqbcs.service.  I then ran the following commands in the following order:
    systemctl daemon-reload
    systemctl enable eqbcs.service (created a link in /etc/systemd/system/multi-user.target.wants)
    systemctl start eqbcs.service
    Here is output from systemctl (status)
    eqbcs.service                                 loaded failed failed    EQBCS
    I thought this would start the service but no luck.  I also thought maybe a reboot would work but no luck.  I verified I can start the daemon manually if I run /home/public/EQBCS/eqbcs -p 12947 -d &> /dev/null from the command line.
    I think I am close, but after several hours of looking at examples of .service files and other posts, I am at a loss.  I am not one of those types who posts a question without taking the time to read the wealth of information on these boards, but I am truly out of ideas and can’t figure out what to do next.  I sincerely could use some help/advice.
    Last edited by calzon65 (2013-06-01 21:18:20)

    Thank you for the suggestions, I believe I am getting closer to success. When I run systemctl start eqbcs.servcie it starts the service but the only way I can get out of systemctl is to ^c out.
    Here is my current .service file:
    [Unit]
    Description=EQBCS
    After=network.target
    [Service]
    ExecStart=/home/public/EQBCS/eqbcs -p 12947
    Type=forking
    [Install]
    WantedBy=multi-user.target
    Output from systemctl status eqbcs:
    eqbcs.service - EQBCS
       Loaded: loaded (/etc/systemd/system/eqbcs.service; enabled)
       Active: failed (Result: timeout) since Sat 2013-06-01 12:48:43 PDT; 2min 11s ago
      Process: 427 ExecStart=/home/public/EQBCS/eqbcs -p 12947 (code=killed, signal=TERM)
    Main PID: 396 (code=killed, signal=KILL)
       CGroup: name=systemd:/system/eqbcs.service
    Jun 01 12:47:13 alarm systemd[1]: Starting EQBCS...
    Jun 01 12:47:13 alarm eqbcs[427]: WARNING: Running as root NOT recommended.
    Jun 01 12:47:13 alarm eqbcs[427]: EQ Box Chat Server 10.12.18
    Jun 01 12:47:13 alarm eqbcs[427]: Waiting for connections on port: 12947...
    Jun 01 12:48:43 alarm systemd[1]: eqbcs.service operation timed out. Terminating.
    Jun 01 12:48:43 alarm systemd[1]: Failed to start EQBCS.
    Jun 01 12:48:43 alarm systemd[1]: Unit eqbcs.service entered failed state.
    Are there any other suggestions for settings in my .service file?

  • [SOLVED] HP ML110 systemd upgrade blank screen

    I have a HP ML110 machine where I tried to upgrade to systemd. It boots to a state where the monitor goes blank (nothing on it but on) and stays there.
    This also happens with the newest ArchLinux Installation Medium (November Release).
    This happens with systemd and initscripts. Even tried to boot into single user mode showed the same behavior.
    It seems that the graphics chip changes from text mode to graphic mode (with higher resolution) and fails at that. The graphics chip is a Matrox MGA G200e. Anybody got such a chip running with a recent Archlinux installation? The last kernel that worked was a 3.4 but I could not find a package for this kernel.
    With the kernel 3.5 a new driver for the said Matrox chip was introduced. Falling back to a kernel 3.4 series returned the system to a working state.
    Last edited by wabi (2012-11-04 22:00:27)

    Hello @Sauber91,
    I understand that you are experiencing issues when you install the Zotak nvdia gtx 650 graphics card into your HP Pavilion p6-2356in Desktop PC. Well right off I can see that according to the HP Pavilion p6-2356in Desktop PC Product Specifications page your computer came with a 300 watt power supply and the Zotak nvdia gtx 650 graphics card requires a 350 watt power supply. So right off you do not have enough power to properly run the graphics card. Any other devices you may have will be drawing power as well.
    I would also recommend that in your BIOS (tap F10 on startup) that you disable Fast Boot and enable Legacy mode if the option is there.
    Please re-post if you require additional support. Thank you for posting on the HP Forums. Have a great day!
    Please click the "Thumbs Up" on the bottom right of this post to say thank you if you appreciate the support I provide!
    Also be sure to mark my post as “Accept as Solution" if you feel my post solved your issue, it will help others who face the same challenge find the same solution.
    Dunidar
    I work on behalf of HP
    Find out a bit more about me by checking out my profile!
    "Customers don’t expect you to be perfect. They do expect you to fix things when they go wrong." ~ Donald Porter

  • [SOLVED] upgraded to Systemd, BCM4312 wireless no longer working

    Hello,
    I just finished upgrading my netbook to Systemd, and to my dismay the wireless stopped working.
    lspci -vnn | grep 14e4 reveals that I have a Broadcom BCM4312 LP-PHY rev01.
    I believe I was using the Linux kernel driver before with no issues, but now I have tried loading brcmsmac and it's not working.
    The kernel driver used to load automatically.
    iwconfig shows nothing with a wireless extension, and ip link doesn't even show my wireless NIC. I don't see any issues in journalctl as far as I can tell.
    B43 and SSB are blacklisted.
    Has anyone else had this problem since upgrading? Any ideas?
    I would prefer the linux driver vs broadcom-wl if it can be avoided.
    Thanks,
    Last edited by j0tev (2013-03-06 23:38:38)

    Are your vendor ID:Product ID not 14e4:4315  ??  That device is supported by b43.  I would not consider using anything but the b43 driver.
    Regardless. be aware that your device probably changed names and may no longer be wlan0.  Perhaps that is your real problem. 
    Were I you, I would reconfigure to again use b43, then check the output of ip link do find your device names.

Maybe you are looking for