Trying to setup systemd user instance

Hi guys!
For the past few days I have been trying to setup systemd to run a user instance (user is 'hans'). Sadly, I have been unable to find a lot of detail in doing this, so much of my work has been trial and error. Just recently I learned about the [email protected] and also about loginctl enable-linger. However to what degree they are related to setting up a user instance, I do not know. I set the user 'hans' to 'linger' using the loginctl enable-linger hans command, however I think I might have misunderstood the significance of the command in relation to what I am trying to do.
What I want to for user 'hans' to have his own service file, i.e. irssi.service, and start/stop/enable/disable/etc that service independently of the system. I realize that I could use sudo and configure it to only allow certain commands, and more than that have individual 'system' services for each user, i.e. hansirssi.service, janeirssi.service, joeirssi.service, etc., but I don't want to have to do that unless there is no other option.
So Question 1:
Is it possible to setup up systemd user instances as I envision it? Or have I misunderstood something?
My system:
[root@ru ~]# uname -a
Linux ru 3.5.4-1-ARCH #1 SMP PREEMPT Sat Sep 15 08:12:04 CEST 2012 x86_64 GNU/Linux
The system is installed in a Proxmox virtual machine with a virtio virtual HDD and standard setup. It is a headless system. I have a complete systemd conversion as per the wiki plus polkit 0.107-2 for use with 'loginctl'.
I tried:
[root@ru ~]$ systemctl enable [email protected]
The unit files have no [Install] section. They are not meant to be enabled using systemctl.
[root@ru ~]$ systemctl start [email protected]
[root@ru ~]# systemctl status [email protected]
[email protected] - User Manager for hans
Loaded: loaded (/usr/lib/systemd/system/[email protected]; static)
Active: active (running) since Fri, 21 Sep 2012 18:33:07 +0100; 42min ago
Main PID: 23189 (systemd)
Status: "Startup finished in 822us."
CGroup: name=systemd:/user/hans/shared
â 23190 (sd-pam)
â systemd-23189
â 23189 /usr/lib/systemd/systemd --user
And on the user account hans I confirm that the service is running:
[hans@ru ~]$ systemctl status [email protected]
[email protected] - User Manager for hans
Loaded: loaded (/usr/lib/systemd/system/[email protected]; static)
Active: active (running) since Fri, 21 Sep 2012 18:33:07 +0100; 13s ago
Main PID: 23189 (systemd)
Status: "Startup finished in 822us."
CGroup: name=systemd:/user/hans/shared
â 23190 (sd-pam)
â systemd-23189
â 23189 /usr/lib/systemd/systemd --user
But in regard to actually starting/stopping/enabling a user specific service, I keep getting this error:
[hans@ru ~]$ systemctl start dummyservice.service
Failed to issue method call: Access denied
and when I try by accessing the 'user' instance, I get the following error:
[hans@ru ~]$ systemctl --user
Failed to get D-Bus connection: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
The thing is that dbus is running:
[root@ru ~]# systemctl status dbus
dbus.service - D-Bus System Message Bus
Loaded: loaded (/usr/lib/systemd/system/dbus.service; static)
Active: active (running) since Thu, 20 Sep 2012 18:19:18 +0100; 24h ago
Main PID: 248 (dbus-daemon)
CGroup: name=systemd:/system/dbus.service
â 248 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
Sep 21 18:12:40 ru dbus-daemon[248]: dbus[248]: [system] Successfully activated service 'org.freedesktop.PolicyKit1'
Sep 21 18:12:40 ru dbus[248]: [system] Successfully activated service 'org.freedesktop.PolicyKit1'
Sep 21 18:17:50 ru dbus-daemon[248]: dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.26" (uid.../init ")
Sep 21 18:17:50 ru dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.26" (uid=1000 pid=23167 c...n/init ")
Sep 21 18:32:46 ru dbus-daemon[248]: dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.31" (uid.../init ")
Sep 21 18:32:46 ru dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.31" (uid=1000 pid=23185 c...n/init ")
Sep 21 18:35:45 ru dbus-daemon[248]: dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.34" (uid.../init ")
Sep 21 18:35:45 ru dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.34" (uid=1000 pid=23195 c...n/init ")
Sep 21 18:36:06 ru dbus-daemon[248]: dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.35" (uid.../init ")
Sep 21 18:36:06 ru dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.35" (uid=1000 pid=23197 c...n/init ")
Here is the full output from 'journalctl':
Sep 21 18:17:50 ru dbus-daemon[248]: dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.26" (uid=1000 pid=23167 comm="systemctl enable [email protected] ") interface="org.freedesktop.systemd1.Manager" member="EnableUnitFiles" error name="(unset)" requested_reply="0" destination="org.freedesktop.systemd1" (uid=0 pid=1 comm="/sbin/init ")
Sep 21 18:17:50 ru dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.26" (uid=1000 pid=23167 comm="systemctl enable [email protected] ") interface="org.freedesktop.systemd1.Manager" member="EnableUnitFiles" error name="(unset)" requested_reply="0" destination="org.freedesktop.systemd1" (uid=0 pid=1 comm="/sbin/init ")
Sep 21 18:32:46 ru dbus-daemon[248]: dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.31" (uid=1000 pid=23185 comm="systemctl start [email protected] ") interface="org.freedesktop.systemd1.Manager" member="StartUnit" error name="(unset)" requested_reply="0" destination="org.freedesktop.systemd1" (uid=0 pid=1 comm="/sbin/init ")
Sep 21 18:32:46 ru dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.31" (uid=1000 pid=23185 comm="systemctl start [email protected] ") interface="org.freedesktop.systemd1.Manager" member="StartUnit" error name="(unset)" requested_reply="0" destination="org.freedesktop.systemd1" (uid=0 pid=1 comm="/sbin/init ")
Sep 21 18:33:07 ru systemd[23189]: Failed to open private bus connection: Failed to connect to socket /run/user/hans/dbus/user_bus_socket: No such file or directory
Sep 21 18:35:45 ru dbus-daemon[248]: dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.34" (uid=1000 pid=23195 comm="systemctl start userservice ") interface="org.freedesktop.systemd1.Manager" member="StartUnit" error name="(unset)" requested_reply="0" destination="org.freedesktop.systemd1" (uid=0 pid=1 comm="/sbin/init ")
Sep 21 18:35:45 ru dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.34" (uid=1000 pid=23195 comm="systemctl start userservice ") interface="org.freedesktop.systemd1.Manager" member="StartUnit" error name="(unset)" requested_reply="0" destination="org.freedesktop.systemd1" (uid=0 pid=1 comm="/sbin/init ")
Sep 21 18:36:06 ru dbus-daemon[248]: dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.35" (uid=1000 pid=23197 comm="systemctl start userservice.service ") interface="org.freedesktop.systemd1.Manager" member="StartUnit" error name="(unset)" requested_reply="0" destination="org.freedesktop.systemd1" (uid=0 pid=1 comm="/sbin/init ")
Sep 21 18:36:06 ru dbus[248]: [system] Rejected send message, 2 matched rules; type="method_call", sender=":1.35" (uid=1000 pid=23197 comm="systemctl start userservice.service ") interface="org.freedesktop.systemd1.Manager" member="StartUnit" error name="(unset)" requested_reply="0" destination="org.freedesktop.systemd1" (uid=0 pid=1 comm="/sbin/init ")
Question 2:
Why would dbus reject the 'messages', is there something I need to configure (permissions,...?) in order to get this to work?
I suspect that it is my lacking knowledge to blame for this problem, which is why I have sought help here.
EDIT#1:
I forgot to show you what 'loginctl' was doing:
[root@ru ~]# loginctl user-status hans
hans (1000)
Since: Thu, 20 Sep 2012 18:19:18 +0100; 24h ago
State: lingering
CGroup: name=systemd:/user/hans
â shared
â 23190 (sd-pam)
â systemd-23189
â 23189 /usr/lib/systemd/systemd --user
Last edited by sunite (2012-09-21 18:17:35)

I just went through the install process, read through the user-session-units doc, I was finally able to get the user instance working, no Dbus errors . However I decided to make sure and run 'dbus-monitor' within the user 'hans' and I got the following error message:
Failed to open private bus connection: Failed to connect to socket /run/user/1000/dbus/user_bus_socket: No such file or directory
I checked and there is no such file, however I checked the dbus.socket:
[root@ru user]# cat /usr/lib/systemd/user/dbus.socket
[Unit]
Description=D-Bus System Message Bus Socket
[Socket]
ListenStream=%t/dbus/user_bus_socket
And dbus.service:
[root@ru user]# dbus-monitor
Failed to open connection to session bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
[root@ru user]# cat /usr/lib/systemd/user/dbus.service
[Unit]
Description=D-Bus System Message Bus
Requires=dbus.socket
[Service]
ExecStart=/usr/bin/dbus-daemon --session --address=systemd: --nofork --systemd-activation
ExecReload=/usr/bin/dbus-send --print-reply --session --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig
and as far as I can tell everything see alright there.
EDIT#1:
I just restarted the system to see if my symlink worked for the user-session service. It did, sort of, however the following error occured during boot:
Sep 21 22:15:14 ru systemd[307]: Failed to open private bus connection: Failed to connect to socket /run/user/1000/dbus/user_bus_socket: No such file or directory
Last edited by sunite (2012-09-21 21:22:11)

Similar Messages

  • [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] Starting systemd --user as a systemd --system process?

    Hey guys,
    I would like to run systemd --user as a system service using this .service file I wrote:
    $ cat [email protected]
    [Unit]
    Description=Systemd --user instance for %I
    Documentation=man:systemd
    [Service]
    User=%I
    ExecStart=/usr/lib/systemd/systemd --user --log-level=debug
    [Install]
    WantedBy=multi-user.target
    I enabled it for my user using `systemctl enable systemd-user@evan`, however, when starting it it fails with the following errors:
    Jul 21 21:14:42 desktop systemd[12920]: systemd 204 running in user mode. (+PAM -LIBWRAP -AUDIT -SELINUX -IMA -SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ)
    Jul 21 21:14:42 desktop systemd[12920]: Using cgroup controller name=systemd. File system hierarchy is at /sys/fs/cgroup/systemd/system/[email protected]/[email protected]/systemd-12920.
    Jul 21 21:14:42 desktop systemd[12920]: Failed to create root cgroup hierarchy: Permission denied
    Jul 21 21:14:42 desktop systemd[12920]: Failed to allocate manager object: Permission denied
    Is it possible to run systemd --user like this? Do I need to add something to my [email protected]?
    Last edited by EvanPurkhiser (2013-07-22 02:10:10)

    EDIT: I just realized that the systemd-user-session-units package will only include specific units at build-time weather I have have the programs or not. You're right, I should just use this package!
    Well, to be honest, maybe I'm trying to hack around a problem that doesn't even really exist, but I don't think the systemd-user-sessions-units package meets my needs.
    The way I would like to have my user sessions setup is something like this:
    I would like to have an instance of systemd --user always running under my user so I can keep things like transmission-daemon always running, even when I don't have a user session open. When I do start my user session (via logging into getty) I want to bring my systemd instance up to a certain target. For example, logging in via tty1 should bring up graphical.target, which will start X11 and all that, while logging into any other tty will start console.target (for stuff like ssh-agent etc).
    Thinking more about this I suppose there's really no reason I couldn't use the [email protected] from systemd-user-session-units, but since I won't use most of the other user units included, I would rather just not use it.
    Here's what my .profile looks like:
    if systemctl -q is-active systemd-user@evan
    then
    # Default systemd to the console target
    target="console"
    # If we're logging in from VT1 start the graphical target
    if [[ $XDG_VTNR == 1 ]] && ! systemctl --user -q is-active graphical.target &> /dev/null
    then
    export DISPLAY=:0
    target="graphical"
    fi
    # Set all environment variables in the systemd --user instance (still working on this)
    env | systemctl --user set-environment -
    # Bring up systemd --user to the specified target
    systemctl --user start ${target}.target
    fi
    source "$HOME/.bashrc"
    Last edited by EvanPurkhiser (2013-07-22 03:56:13)

  • [Solved] systemd-user-session: Best way to pass global ENV vars?

    Hey guys,
    So when using the [email protected] from the user-session-units what's the best / cleanest way to set global environment variables for that systemd --user instance (and thus, all programs spawned from it)?
    What I'm talking about is /etc/profile and $HOME/.profile.
    For example, I usally configure my XDG_CONFIG_HOME and XDG_CACHE_HOME in my ~/.profile. But since systemd --user is being started by systemd --session none of these environment variables are loaded.
    The solution I've come up is to change the ExecStart in the [email protected] file to something like this:
    ExecStart=/usr/bin/sh -c "source /etc/profile; source $HOME/.config/bash/environment; exec /usr/lib/systemd/systemd --user"
    I know I could use the `EnvironmentFile` option to load the environment variables from a file, but it's not as flexable as a bash script.
    Am I thinking about this problem wrong? Is there a more "systemd --user"-y way of solving the problem?
    Last edited by EvanPurkhiser (2013-08-12 03:02:48)

    I've more or less solved this using my own user-session units. I still don't know if my method would really be considered the proper way or not though.
    Last edited by EvanPurkhiser (2013-08-12 03:02:19)

  • Start systemd --user once after first login, not per session?

    Hey guys,
    So I've been toying around with using systemd to manage user daemons and some oneshot processes, it seems like it could be really nice
    Here's what I'm thinking I would like to do:
    I would have two user targets, `console.target` and `graphical.target`.
    The console target will start things like pulseaudio, ssh-agent (envoy), transmission, stuff like that.
    The graphical target will start xorg and then other things like the WM, set the wallpaper.. you get the idea. Obviously the graphical target will want the console target.
    Now, the part I wanted to get some feedback on is this: I would like a systemd --user instance to only be started once after my first login, not once per session.
    So for example, I login from vt1 and it brings systemd --user up to the graphical.target. Then if I later SSH in from somewhere, it won't start a new systemd --user session (Ie, won't start pulse-audio, transmission-daemon, etc).
    However, if I haven't logged into my machine yet and I SSH in, it will start up systemd --user and will start the console.target. If I then later login via vt1 it will see that there's already a systemd --user session started and start the graphical.target
    Does this make sense? Is it a bad idea?

    You could make a column in the database, and when the
    information is set (emailed) make the value to be 0, then when they
    first register use a IF recodset("column_name") = 0 Then
    reponse.redirect("filloutpage.asp") end if, then when they fill out
    the info have a hidden form field thats updates the value to 1. on
    the login page after the first if make another IF
    recordset("column_name") = 1 Then response.redirect("index.asp")
    end if.
    i have forms that have three different redirect based on user
    input, and you could do the same thing you could add the one for
    the first time to dw made code, here is an example, you could
    change the request.form to a recordset value and it will work.
    If Request.Form("select") = "Self" Then
    MM_editRedirectUrl = "FridaySchedule.asp"
    Response.Redirect(MM_editRedirectUrl)
    End IF
    If Session("MM_AdminEdit") = "True" Then
    MM_editRedirectUrl = "FridayScheduleAdmin.asp"
    Response.Redirect(MM_editRedirectUrl)
    End IF
    MM_editRedirectUrl = "FridayScheduleDept.asp"
    If (Request.QueryString <> "") Then
    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0)
    Then
    MM_editRedirectUrl = MM_editRedirectUrl & "?" &
    Request.QueryString
    Else
    MM_editRedirectUrl = MM_editRedirectUrl & "&" &
    Request.QueryString
    End If
    End If
    Response.Redirect(MM_editRedirectUrl)

  • SQL server express 2005 Creating a "user instance"

    How do you create a user instance so that you dont have to be logged on as administrator?

    Hi
    * A User Instance is a feature of SQL EXPRESS and will be created for you dynamically if and only if you are using a database which is
    not attach to any other instance, and you do have SQL Express installed.
    * It will not help you to change only the connection string if the database already attach to the other server instance, This will rise an error that the database is in use.
    * A user instance need that the user will have proper security permeation on the folder where the database files are.  
    * As Olaf mentioned, and once you are meet the above requirements AND the requirements mentioned in the link Olaf post (I dont know why they did not mentioned the above requirements or maybe i did not notice it there...), Then you can use a connection
    string which open a user instance.
    * This problem is most common in my experience (trying to open a user instance using a database which is already attach to other instance)! for example a database which is attach to constant instance or a database which is attach to some other user
    instance.
    [Personal Site] [Blog] [Facebook]

  • Setup New User in ERP6

    We just installed New ERP 6. Trying to setup new user. We are getting the following error.
    "No default co. address  has been maint. in the system. Create an address."
    In fact I did create a Company with address using transaction SUCOMP.
    Need Help.

    Hi Sebastian Sebaraj,
        In Ecc6 default client is 001.But if you try to create user in 000 it gives that error.
        Basically we have to create company address first.In 001 you cannot find this error.
        Create company address for first time, from next time onwards it will not give that error.
    regards,
    raju.

  • I moved from an old macbook to a new one.  I copied all my files onto a hard drive.  On trying to setup my mail, i went into documents, microsoft user identities, office 2011 and it shows the database but wont let me select it.  Urgent help pls

    I moved from an old macbook to a new one.  I have installed Office for Mac 2011. I copied all my files from my old notebook onto a hard drive.  On trying to setup my mail, i went into my hard drive and accessed microsoft user identities, office 2011 and it shows the database but wont let me select it.  Its almost as if the file is there but not accessable.  I desperately need to access my old mail.  How do I do this?  I am fairly confident that I copied all files off my old notebook.  Is there a way for me to search for the Database file?  Maybe I copied it to a different location?  Urgent help please.

    Hello mafrerichs and welcome to Apple Support Communities,
    Simplest way is to use Target Disk mode:
    How to use and troubleshoot FireWire target disk mode - Apple Support
    and hook to another Mac and use CCC or SuperDuper and clone your HD to another drive.
    You could also pull the drive out of your MBP and use an external USB case or SATA - USB dongle to hook it to another Mac.
    "MacBook Pro (15-inch Late 2011),... have a 15" 2012 Macbook pro with 2gb of ram, i7 processor"
    That's a little confusing?

  • Trying to setup im to store user props in ldap

    I am running the im/sbin/configure script. I'm trying to setup im to store user props in ldap. Can someone tell me what bind dn, I need to specify. It will be whatever the default is. I'm not sure how to find this.

    The default bind dn is normally "cn=Directory Manager".

  • I keep getting an error message trying to setup my imap email accounts on my new ipad air. Says user name or password is incorrect but I know for a fact they are correctly entered. How do I correct this?

    I keep getting an error message while trying to setup my imap Gmail and Aol  accounts on my new ipad air. The error says user name or password is incorrect but I know for a fact they are correctly entered. How do I correct this?

    Hi Allan, thanks for that. I've already set up a log in for my wife and that is all working fine. The problem is that when she logs in and opens iTunes and trys to associate her library with her iTunes account she gets the error message "This computer is already associated with another iTunes account". Whilst this is true, the computer is associated with my iTunes account under my separate log in, which should have nothing to do with hers. If she transfers the association to her account it will lock me out of my content on my log in for 90 days - I'm trying to work out how to associate each of the log in accounts with a separate iTunes account so we can access our music independently of one another without locking each other out. Hope that makes sense!

  • Pulseaudio and systemd --user: DBus scope issues?

    Hi,
    I have a multi-seat setup, so I need user-wide pulseaudio and whatnot. I'm trying to setup my boot through systemd --user.
    Testing audio working apps are firefox, mpv, and mpd. The problem is:
    - If I start pulseaudio and mpd manually everything is fine (no use of systemd)
    - If I start pulseaudio through systemd no application has sound.
    - If I start pulseaudio and mpd through systemd only mpd has sound.
    raimundoyamtech~$ cat .config/systemd/user/pulseaudio.service
    [Unit]
    Description=PulseAudio Sound System
    After=sound.target
    [Service]
    ExecStart=/usr/bin/pulseaudio
    [Install]
    WantedBy=multi-user.target
    raimundoyamtech~$ cat .config/systemd/user/mpd.service
    [Unit]
    Description=Music Player Daemon
    After=network.target sound.target
    [Service]
    ExecStart=/usr/bin/mpd %h/.config/mpd/mpd.conf --no-daemon
    ExecStop=/usr/bin/mpd %h/.config/mpd/mpd.conf --kill
    Restart=always
    [Install]
    WantedBy=multi-user.target
    If I add BusName=org.pulseaudio.Server to the pulseaudio.service nothing changes.
    Using pulseaudio's autospawn=yes leads to what seems to be same behaviour: mpd by systemd starts pulseaudio and is the only app with sound.
    ./config/pulse/client.conf only contains default-sink. Everything else is default.
    Using alsa alone is not an option because of firefox.
    Any thoughts?
    EDIT:
    raimundoyamtech~$ systemctl --version
    systemd 208
    +PAM -LIBWRAP -AUDIT -SELINUX -IMA -SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ
    raimundoyamtech~$ pulseaudio --version
    pulseaudio 4.0
    Last edited by Raimundo (2013-10-23 10:08:13)

    ewaller wrote:
    Please do not bump.   I understand the frustration; really, I do.  But, these are very active forums with some very good technical people lurking about.  I guarantee your post had been read.  I read it.  I did not have an answer, as I have never seen that behavior afore.   I am certain that was true for many other regulars.
    In the future, you can bring focus to a thread by providing more information..  Tell us what you have tried, what you have read since the last post, etc.  At least it gives the impression that you are working the problem rather than merely waiting for a response.
    I don't know almost anything about systemd, especially because it changes so rapidly and documention is so scarce and outdated that either I read the whole documentantion for my version in hopes of finding my problem (something for which I do not have time) or post a topic.
    I posted everything I touched regarding systemd since the installation of my system, that's all the relevant information I know I can give, so at this point I had no more info to give.
    Actually posting a topic is really my last resort, it usually means that I have already tried everything I knew and I'm hopeless already.
    raimundoyamtech~$ loginctl list-sessions
    SESSION UID USER SEAT
    2 1002 carla seat0
    1 1000 raimundo seat0
    2 sessions listed.
    raimundoyamtech~$ loginctl show-session 1
    Id=1
    Timestamp=Tue 2013-10-29 12:33:47 WET
    TimestampMonotonic=6670234
    VTNr=1
    TTY=tty1
    Remote=no
    Service=login
    Scope=session-1.scope
    Leader=1456
    Audit=1
    Type=tty
    Class=user
    Active=no <----- Is this what you are talking about?
    State=online
    IdleHint=yes
    IdleSinceHint=1383050072367636
    IdleSinceHintMonotonic=0
    Name=raimundo
    raimundoyamtech~$ loginctl show-session 2
    Id=2
    Timestamp=Tue 2013-10-29 12:33:47 WET
    TimestampMonotonic=6667439
    VTNr=2
    TTY=tty2
    Remote=no
    Service=login
    Scope=session-2.scope
    Leader=1453
    Audit=2
    Type=tty
    Class=user
    Active=no <----- Is this what you are talking about?
    State=online
    IdleHint=yes
    IdleSinceHint=1383050025387636
    IdleSinceHintMonotonic=0
    Name=carla
    raimundoyamtech~$ loginctl show-session 3
    Failed to issue method call: No such file or directory
    What is an active session? Oo Never heard of it
    I could start things. Pulseaudio started, so did mpd. I also have a /usr/lib/systemd/systemd --user process started for each user. I assumed this would be it since this
    raimundoyamtech~$ systemctl --user
    Failed to issue method call: Process /bin/false exited with status 1
    always happens and I've read that systemctl --user is no longer required.
    [EDIT]
    Fixed it. Don't remember where I read that it wasn't required, just that it was in the same place I found someone else complaining about getting this error.
    For anyone else encountering this: sed -i s/system-auth/system-login/g /etc/pam.d/systemd-user
    and systemctl --user will work. Insults fly out to the one who wrote it wasn't required!
    Still am not able to get an active session though
    [/EDIT]
    Why would there be a need for anything else? I'm gonna check on that. Thanks!
    See, the bump worked ^^ but ok I'll try to refrain from doing that next time. Sorry.
    Last edited by Raimundo (2013-10-29 16:27:55)

  • [SOLVED] Getting my systemd user service to talk to dbus

    I'm currently trying to set up a nice email workflow with mbsync, msmtp and notmuch.
    My passwords are saved in the Gnome keyring "login", and I've configured mbsync to use secret-tool to retrieve them. Unfortunately when secret-tool is invoked from this systemd user service there is an error when it in turn tries to call dbus-launch.
    Here is the error:
    $ systemctl --user status -l mbsync.service
    ● mbsync.service - Synchronise IMAP folders
    Loaded: loaded (/home/leo/.config/systemd/user/mbsync.service; static; vendor preset: enabled)
    Active: failed (Result: exit-code) since Sun 2015-05-10 20:10:56 BST; 17min ago
    Process: 3691 ExecStart=/usr/bin/mbsync -a (code=exited, status=1/FAILURE)
    Main PID: 3691 (code=exited, status=1/FAILURE)
    May 10 20:10:55 think3 mbsync[3691]: (secret-tool:3696): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
    May 10 20:10:55 think3 mbsync[3691]: secret-tool: Error spawning command line 'dbus-launch --autolaunch=388eb9d3cc5542d5922d60c8f9605b31 --binary-syntax --close-stderr': Child process exited with code 1
    May 10 20:10:55 think3 mbsync[3691]: Skipping account ymail, password command exited with status 1
    May 10 20:10:56 think3 mbsync[3691]: (secret-tool:3698): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
    May 10 20:10:56 think3 mbsync[3691]: secret-tool: Error spawning command line 'dbus-launch --autolaunch=388eb9d3cc5542d5922d60c8f9605b31 --binary-syntax --close-stderr': Child process exited with code 1
    May 10 20:10:56 think3 mbsync[3691]: Skipping account gmail, password command exited with status 1
    May 10 20:10:56 think3 systemd[716]: mbsync.service: main process exited, code=exited, status=1/FAILURE
    May 10 20:10:56 think3 systemd[716]: Failed to start Synchronise IMAP folders.
    May 10 20:10:56 think3 systemd[716]: Unit mbsync.service entered failed state.
    May 10 20:10:56 think3 systemd[716]: mbsync.service failed.
    The file mbsync.service is simply
    [Unit]
    Description=Synchronise IMAP folders
    Wants=network-online.target
    After=network-online.target
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/mbsync -a
    Any ideas how I can use secret-tool from within a systemd user service? The Wiki includes some information about DBus and systemd here but it looks a little outdated...
    Last edited by curiousleo (2015-05-22 22:02:33)

    barbae wrote:Please could you post the output of 'journalctl -b' just after user login into gnome through gdm?
    Sure thing. Here it is (I've cut out some stuff that obviously had nothing to do with the problem at hand):
    May 17 17:17:11 think3 systemd[1]: systemd 219 running in system mode. (+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID -ELFUTILS +KMOD +IDN)
    May 17 17:17:11 think3 systemd[1]: Created slice Root Slice.
    May 17 17:17:11 think3 systemd[1]: Starting Root Slice.
    May 17 17:17:11 think3 systemd[1]: Created slice System Slice.
    May 17 17:17:11 think3 systemd[1]: Starting System Slice.
    May 17 17:17:11 think3 systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    May 17 17:17:11 think3 systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
    May 17 17:17:11 think3 systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    May 17 17:17:11 think3 systemd[1]: Starting Dispatch Password Requests to Console Directory Watch.
    May 17 17:17:11 think3 systemd[1]: Reached target Login Prompts.
    May 17 17:17:11 think3 systemd[1]: Starting Login Prompts.
    May 17 17:17:11 think3 systemd[1]: Created slice User and Session Slice.
    May 17 17:17:11 think3 systemd[1]: Starting User and Session Slice.
    May 17 17:17:11 think3 systemd[1]: Reached target Slices.
    May 17 17:17:11 think3 systemd[1]: Starting Slices.
    May 17 17:17:11 think3 systemd[1]: Started Create System Users.
    May 17 17:17:11 think3 systemd[1]: Created slice system-systemd\x2drfkill.slice.
    May 17 17:17:11 think3 systemd[1]: Starting system-systemd\x2drfkill.slice.
    May 17 17:17:11 think3 systemd[1]: Started Commit a transient machine-id on disk.
    May 17 17:17:11 think3 systemd[1]: Started Daily verification of password and group files.
    May 17 17:17:11 think3 systemd[1]: Starting Daily verification of password and group files.
    May 17 17:17:11 think3 systemd[1]: Listening on D-Bus System Message Bus Socket.
    May 17 17:17:11 think3 systemd[1]: Starting D-Bus System Message Bus Socket.
    May 17 17:17:11 think3 systemd[1]: Reached target Sockets.
    May 17 17:17:11 think3 systemd[1]: Starting Sockets.
    May 17 17:17:11 think3 systemd[1]: Reached target Basic System.
    May 17 17:17:11 think3 systemd[1]: Starting Basic System.
    May 17 17:17:11 think3 systemd[1]: Starting Login Service...
    May 17 17:17:11 think3 systemd[1]: Starting Permit User Sessions...
    May 17 17:17:11 think3 systemd[1]: Started D-Bus System Message Bus.
    May 17 17:17:11 think3 systemd[1]: Starting D-Bus System Message Bus...
    May 17 17:17:11 think3 systemd[1]: Reached target Timers.
    May 17 17:17:11 think3 systemd[1]: Starting Timers.
    May 17 17:17:11 think3 systemd[1]: Started Permit User Sessions.
    May 17 17:17:11 think3 systemd[1]: Starting GNOME Display Manager...
    May 17 17:17:11 think3 systemd[1]: Started Login Service.
    May 17 17:17:12 think3 systemd[1]: Started GNOME Display Manager.
    May 17 17:17:12 think3 systemd[1]: Reached target Multi-User System.
    May 17 17:17:12 think3 systemd[1]: Starting Multi-User System.
    May 17 17:17:12 think3 systemd[1]: Reached target Graphical Interface.
    May 17 17:17:12 think3 systemd[1]: Starting Graphical Interface.
    May 17 17:17:12 think3 systemd-logind[293]: New seat seat0.
    May 17 17:17:12 think3 dbus[301]: [system] Activating via systemd: service name='org.freedesktop.Accounts' unit='accounts-daemon.service'
    May 17 17:17:12 think3 systemd[1]: Reached target User and Group Name Lookups.
    May 17 17:17:12 think3 systemd[1]: Starting User and Group Name Lookups.
    May 17 17:17:12 think3 systemd[1]: Starting Accounts Service...
    May 17 17:17:13 think3 dbus[301]: [system] Activating via systemd: service name='org.freedesktop.PolicyKit1' unit='polkit.service'
    May 17 17:17:13 think3 systemd[1]: Starting Authorization Manager...
    May 17 17:17:13 think3 polkitd[443]: Started polkitd version 0.112
    May 17 17:17:13 think3 polkitd[443]: Loading rules from directory /etc/polkit-1/rules.d
    May 17 17:17:13 think3 polkitd[443]: Loading rules from directory /usr/share/polkit-1/rules.d
    May 17 17:17:13 think3 polkitd[443]: Finished loading, compiling and executing 3 rules
    May 17 17:17:13 think3 dbus[301]: [system] Successfully activated service 'org.freedesktop.PolicyKit1'
    May 17 17:17:13 think3 polkitd[443]: Acquired the name org.freedesktop.PolicyKit1 on the system bus
    May 17 17:17:13 think3 systemd[1]: Started Authorization Manager.
    May 17 17:17:13 think3 accounts-daemon[436]: started daemon version 0.6.40
    May 17 17:17:13 think3 dbus[301]: [system] Successfully activated service 'org.freedesktop.Accounts'
    May 17 17:17:13 think3 systemd[1]: Started Accounts Service.
    May 17 17:17:13 think3 systemd[1]: Created slice user-120.slice.
    May 17 17:17:13 think3 systemd[1]: Starting user-120.slice.
    May 17 17:17:13 think3 systemd[1]: Starting User Manager for UID 120...
    May 17 17:17:13 think3 systemd-logind[293]: New session c1 of user gdm.
    May 17 17:17:13 think3 systemd[1]: Started Session c1 of user gdm.
    May 17 17:17:13 think3 systemd[1]: Starting Session c1 of user gdm.
    May 17 17:17:13 think3 systemd[454]: pam_unix(systemd-user:session): session opened for user gdm by (uid=0)
    May 17 17:17:13 think3 systemd[454]: Unit type .busname is not supported on this system.
    May 17 17:17:13 think3 systemd[454]: Reached target Paths.
    May 17 17:17:13 think3 systemd[454]: Starting Paths.
    May 17 17:17:13 think3 systemd[454]: Reached target Timers.
    May 17 17:17:13 think3 systemd[454]: Starting Timers.
    May 17 17:17:13 think3 systemd[454]: Reached target Sockets.
    May 17 17:17:13 think3 systemd[454]: Starting Sockets.
    May 17 17:17:13 think3 systemd[454]: Reached target Basic System.
    May 17 17:17:13 think3 systemd[454]: Starting Basic System.
    May 17 17:17:13 think3 systemd[454]: Reached target Default.
    May 17 17:17:13 think3 systemd[454]: Startup finished in 3ms.
    May 17 17:17:13 think3 systemd[454]: Starting Default.
    May 17 17:17:13 think3 systemd[1]: Started User Manager for UID 120.
    May 17 17:17:13 think3 gnome-session[460]: glamor: EGL version 1.4 (DRI2):
    May 17 17:17:13 think3 org.a11y.Bus[459]: Activating service name='org.a11y.atspi.Registry'
    May 17 17:17:13 think3 org.a11y.Bus[459]: Successfully activated service 'org.a11y.atspi.Registry'
    May 17 17:17:13 think3 org.a11y.atspi.Registry[518]: SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry
    May 17 17:17:14 think3 polkitd[443]: Registered Authentication Agent for unix-session:c1 (system bus name :1.9 [gnome-shell --mode=gdm --wayland --display-server], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_GB.utf8)
    May 17 17:17:18 think3 gdm-password][674]: pam_unix(gdm-password:session): session opened for user leo by (uid=0)
    May 17 17:17:18 think3 systemd[1]: Created slice user-1000.slice.
    May 17 17:17:18 think3 systemd[1]: Starting user-1000.slice.
    May 17 17:17:18 think3 systemd[1]: Starting User Manager for UID 1000...
    May 17 17:17:18 think3 systemd[1]: Started Session c2 of user leo.
    May 17 17:17:18 think3 systemd-logind[293]: New session c2 of user leo.
    May 17 17:17:18 think3 systemd[1]: Starting Session c2 of user leo.
    May 17 17:17:18 think3 systemd[717]: pam_unix(systemd-user:session): session opened for user leo by (uid=0)
    May 17 17:17:18 think3 systemd[717]: Unit type .busname is not supported on this system.
    May 17 17:17:18 think3 systemd[717]: Started Synchronise e-mails and create database dump once a day.
    May 17 17:17:18 think3 systemd[717]: Starting Synchronise e-mails and create database dump once a day.
    May 17 17:17:18 think3 systemd[717]: Reached target default.target.
    May 17 17:17:18 think3 systemd[717]: Startup finished in 13ms.
    May 17 17:17:18 think3 systemd[717]: Starting default.target.
    May 17 17:17:18 think3 /usr/lib/gdm/gdm-x-session[725]: /etc/gdm/Xsession: Beginning session setup...
    May 17 17:17:18 think3 /usr/lib/gdm/gdm-x-session[725]: localuser:leo being added to access control list
    May 17 17:17:18 think3 /usr/lib/gdm/gdm-x-session[725]: /etc/gdm/Xsession: Setup done, will execute: /usr/bin/ssh-agent -- gnome-session
    May 17 17:17:18 think3 /usr/lib/gdm/gdm-x-session[725]: Activating service name='org.a11y.Bus'
    May 17 17:17:19 think3 /usr/lib/gdm/gdm-x-session[725]: Successfully activated service 'org.a11y.Bus'
    May 17 17:17:19 think3 org.a11y.Bus[732]: Activating service name='org.a11y.atspi.Registry'
    May 17 17:17:19 think3 org.a11y.Bus[732]: Successfully activated service 'org.a11y.atspi.Registry'
    May 17 17:17:19 think3 org.a11y.atspi.Registry[756]: SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry
    May 17 17:17:19 think3 gnome-session[734]: SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
    May 17 17:17:19 think3 gnome-session[734]: SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
    May 17 17:17:19 think3 gnome-session[734]: GPG_AGENT_INFO=/run/user/1000/keyring/gpg:0:1
    May 17 17:17:20 think3 polkitd[443]: Registered Authentication Agent for unix-session:c2 (system bus name :1.43 [/usr/bin/gnome-shell], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_GB.utf8)
    May 17 17:17:20 think3 gnome-session[734]: Entering running state
    May 17 17:17:21 think3 gnome-shell[804]: GNOME Shell started at Sun May 17 2015 17:17:20 GMT+0100 (BST)
    May 17 17:17:52 think3 /usr/lib/gdm/gdm-x-session[725]: Activating service name='org.gnome.seahorse.Application'
    May 17 17:17:52 think3 /usr/lib/gdm/gdm-x-session[725]: Successfully activated service 'org.gnome.seahorse.Application'
    May 17 17:20:48 think3 /usr/lib/gdm/gdm-x-session[725]: Activating service name='org.gnome.seahorse.Application'
    May 17 17:20:48 think3 /usr/lib/gdm/gdm-x-session[725]: Successfully activated service 'org.gnome.seahorse.Application'

  • [SOLVED] Question about systemd-user-session

    Hi!
    I'm trying to setup a systemd --user session (using user-session-units and xorg-launch-helper from aur).
    I have a couple of questions; this is my .xinitrc now:
    #!/bin/bash
    export BROWSER=chromium
    if [ -d /etc/X11/xinit/xinitrc.d ]; then
    for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
    done
    unset f
    fi
    spacefm --desktop &
    compton -cGCf -m 0.9 -i 0.8 -D 5 --shadow-exclude 'g:e:Conky' &
    volumeicon &
    /home/federico/Script/touchpadoff_onboot.sh &
    #connman-ui-gtk &
    /home/federico/Script/calised-script &
    dimdaemon &
    tint2 -c .config/tint2/dragonauta.tint2rc &
    conky -p 5 -c Script/conky.conf &
    exec openbox
    1) is "if" statement required when using systemd-user-session? And if yes, how can I reproduce it?
    2) "conky -p 5 " will wait 5 seconds doing nothing. Will this mean that other .service will wait for it to finish? (i guess no, since they're executed in parallel).
    3) how can I export "chromium" as my default browser?
    Thank you very much!
    Last edited by nierro (2013-04-06 17:56:17)

    I followed everything in that wiki, and in KaiSforza and sofar github page.
    I finally managed to get my old method (autologin to vt and autostart x) to work together with systemd --user: i put in .xinitrc "systemd --user" and deleted everything else.
    So, my .config/systemd/user/ works. The problem is in the [email protected], i guess. I configured it like wiki says, mind to post here your /etc/systemd/system/[email protected]?
    Thanks.
    EDIT: here it is my [email protected]:
    # This file is part of systemd.
    # systemd is free software; you can redistribute it and/or modify it
    # under the terms of the GNU General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    [Unit]
    Description=User Manager for %I
    After=systemd-user-sessions.service
    # This is needed for folks running Xorg on vt/1
    Conflicts=[email protected]
    [Service]
    User=%I
    PAMName=login
    # Note memory:/ required kernel memory CGroups support
    ControlGroup=%R/user/%I/shared cpu:/ memory:/
    ControlGroupModify=yes
    Type=notify
    TTYPath=/dev/tty1
    ExecStart=-/usr/lib/systemd/systemd --user
    Environment=DISPLAY=:0
    Environment=XDG_RUNTIME_DIR=/run/user/%U
    Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%U/dbus/user_bus_socket
    [Install]
    WantedBy=getty.target
    and loginctl says my user has "1000" as UID.
    Last edited by nierro (2013-04-05 16:13:14)

  • Trouble with some custom SystemD/User unit files

    Good evening all,
    I'm trying to move programs out of my .xinitrc file and my window manager's startup hooks into systemd user unit files for ease of management, and hopefully more resilient.  I have followed the setup on the wiki page for SystemD/User session (https://wiki.archlinux.org/index.php/Sy … asic_setup) and already have some services already running:
    ╭─vendion@tyre ~
    ╰─➤ systemctl --user status
    ● tyre
    State: degraded
    Jobs: 0 queued
    Failed: 4 units
    Since: Fri 2014-08-08 20:23:47 EDT; 4 days ago
    CGroup: /user.slice/user-1000.slice/[email protected]
    ├─3200 /usr/lib/systemd/systemd --user
    ├─3202 (sd-pam)
    ├─dbus.service
    │ ├─ 3623 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation
    │ ├─ 3711 /usr/lib/at-spi2-core/at-spi-bus-launcher
    │ ├─ 3728 /usr/bin/dbus-daemon --config-file=/etc/at-spi2/accessibility.conf --nofork --print-address 3
    │ ├─ 3996 /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
    │ ├─ 4184 /usr/lib/GConf/gconfd-2
    │ └─29638 /usr/bin/dunst
    ├─udiskie.service
    │ └─3389 /usr/bin/python /usr/bin/udiskie
    ├─spideroak.service
    │ ├─3394 /opt/SpiderOak/lib/SpiderOak
    │ └─3993 /opt/SpiderOak/lib/SpiderOak --spider
    ├─skype.service
    │ └─3396 /usr/lib32/skype/skype
    ├─mpd.service
    │ ├─3386 /usr/bin/mpd --no-daemon
    │ ├─3959 /usr/bin/pulseaudio --start --log-target=syslog
    │ └─4178 /usr/lib/pulse/gconf-helper
    ├─mpdscribble.service
    │ └─3544 /usr/bin/mpdscribble
    └─google-musicmanager.service
    └─3638 /usr/bin/google-musicmanager
    Some of them are using unit files provided by the package, others I wrote the unit file for.  The services that are failing that are causing the state to be degraded are:
    ╭─vendion@tyre ~
    ╰─➤ systemctl --user --failed
    UNIT LOAD ACTIVE SUB DESCRIPTION
    ●clipit.service loaded failed failed Clipboard manager
    ●pasystray.service loaded failed failed Pulseaudio system tray icon
    ●pidgin.service loaded failed failed Pidgin IM client
    ●redshift.service loaded failed failed Redshift display colour temperature adjustment
    LOAD = Reflects whether the unit definition was properly loaded.
    ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
    SUB = The low-level unit activation state, values depend on unit type.
    4 loaded units listed. Pass --all to see loaded but inactive units, too.
    To show all installed unit files use 'systemctl list-unit-files'.
    I had to write the unit files for each of these.
    clipit.service unit file: http://sprunge.us/Qjfd
    When I check the status for this here is what I get:
    ● clipit.service - Clipboard manager
    Loaded: loaded (/home/vendion/.config/systemd/user/clipit.service; enabled)
    Active: failed (Result: start-limit) since Fri 2014-08-08 20:24:04 EDT; 4 days ago
    Main PID: 3619 (code=exited, status=1/FAILURE)
    Aug 08 20:24:04 tyre systemd[3200]: clipit.service: main process exited, code=exited, status=1/FAILURE
    Aug 08 20:24:04 tyre systemd[3200]: Unit clipit.service entered failed state.
    Aug 08 20:24:04 tyre systemd[3200]: clipit.service holdoff time over, scheduling restart.
    Aug 08 20:24:04 tyre systemd[3200]: Stopping Clipboard manager...
    Aug 08 20:24:04 tyre systemd[3200]: Starting Clipboard manager...
    Aug 08 20:24:04 tyre systemd[3200]: clipit.service start request repeated too quickly, refusing to start.
    Aug 08 20:24:04 tyre systemd[3200]: Failed to start Clipboard manager.
    Aug 08 20:24:04 tyre systemd[3200]: Unit clipit.service entered failed state.
    pasystray.service unit file: http://sprunge.us/BWWR
    Status output
    ● pasystray.service - Pulseaudio system tray icon
    Loaded: loaded (/home/vendion/.config/systemd/user/pasystray.service; enabled)
    Active: failed (Result: start-limit) since Fri 2014-08-08 20:24:12 EDT; 4 days ago
    Main PID: 3769 (code=killed, signal=TRAP)
    Aug 08 20:24:12 tyre systemd[3200]: pasystray.service: main process exited, code=killed, status=5/TRAP
    Aug 08 20:24:12 tyre systemd[3200]: Unit pasystray.service entered failed state.
    Aug 08 20:24:12 tyre systemd[3200]: pasystray.service holdoff time over, scheduling restart.
    Aug 08 20:24:12 tyre systemd[3200]: Stopping Pulseaudio system tray icon...
    Aug 08 20:24:12 tyre systemd[3200]: Starting Pulseaudio system tray icon...
    Aug 08 20:24:12 tyre systemd[3200]: pasystray.service start request repeated too quickly, refusing to start.
    Aug 08 20:24:12 tyre systemd[3200]: Failed to start Pulseaudio system tray icon.
    Aug 08 20:24:12 tyre systemd[3200]: Unit pasystray.service entered failed state.
    pidgen.service unit file: http://sprunge.us/KgKV
    Status output
    ● pidgin.service - Pidgin IM client
    Loaded: loaded (/home/vendion/.config/systemd/user/pidgin.service; enabled)
    Active: failed (Result: start-limit) since Fri 2014-08-08 20:24:04 EDT; 4 days ago
    Main PID: 3620 (code=exited, status=1/FAILURE)
    Redshift.service unit file: http://sprunge.us/IDCC
    Status output:
    ● redshift.service - Redshift display colour temperature adjustment
    Loaded: loaded (/home/vendion/.config/systemd/user/redshift.service; enabled)
    Active: failed (Result: start-limit) since Fri 2014-08-08 20:23:58 EDT; 4 days ago
    Docs: http://jonls.dk/redshift/
    Main PID: 3517 (code=exited, status=1/FAILURE)
    Aug 08 20:23:57 tyre systemd[3200]: redshift.service: main process exited, code=exited, status=1/FAILURE
    Aug 08 20:23:57 tyre systemd[3200]: Unit redshift.service entered failed state.
    Aug 08 20:23:58 tyre systemd[3200]: redshift.service holdoff time over, scheduling restart.
    Aug 08 20:23:58 tyre systemd[3200]: Stopping Redshift display colour temperature adjustment...
    Aug 08 20:23:58 tyre systemd[3200]: Starting Redshift display colour temperature adjustment...
    Aug 08 20:23:58 tyre systemd[3200]: redshift.service start request repeated too quickly, refusing to start.
    Aug 08 20:23:58 tyre systemd[3200]: Failed to start Redshift display colour temperature adjustment.
    Aug 08 20:23:58 tyre systemd[3200]: Unit redshift.service entered failed state.
    I know that my unit files for these services work because if I manually start them with "systemctl --user start <service>" then they work just fine, but when systemD is trying to start them when I login they fail.  I have dbus setup like the wiki says to, and "DBUS_SESSION_BUS_ADDRESS" is defined.  I also have the DISPLAY environment variable set in /etc/systemd/system/[email protected]/display.conf like the wiki suggests as well.  I know that SystemD user sessions still may not be ready for prime time but I could use a better way to manage these startup programs than the .xinitrc file.
    Thanks in advance for any help

    i suppose there is a code whitch resets the default bounds when
    the component is beeing added to the JTable.Technically, the Component returned by the getCellRendererComponent() is not added to the JTable, it's just used as a rubber stamp.Mmm, I was wrong: at least with the basic L&F, the Component is (temporarily) added to a CellRendererPane, which is a children of the JTable.
    Moreover, I witnessed that both setBounds() and doLayout() are called before the component is actually painted...
    I've never used a compound component as a renderer, but I assume the issue is common (did not have time to search nor try it myself). You may investigate whether the JPanel is appropriately laid out, by inserting some breakpoints/logs at appropriate places (setBounds, doLayout,...)Did this on an extra-short example, and it did render correctly...
    somehow the textfield's bounds where not set anymore.Note that the Javadoc for Cellrendererpane states that +"After the component is painted it's bounds are reset to -w, -h, 0, 0 so that, if it's the last renderer component painted, it will not start consuming input"+.
    That does not explain why the w and h are 0, but at least it's clear that depending on where you put your logging statement makes a big difference about the accuracy of the bounds logged

  • Trying to setup PHP site (friendica) with nginx on localhost

    Hi, just new here :-)
    Started to use Arch a couple of month ago and sofar everything went fine thanks to the great documentation!
    Now I tried to setup friendica on my computer for testing some modifications but I just fail on installing the required modules :-(
    I already installed:
    php
    php-fpm
    php-gd
    php-cgi
    php-mcrypt
    mariadb
    nginx
    phpmyadmin
    But I still get the following errors:
    GD graphics PHP module (required)
    Error: GD graphics PHP module with JPEG support required but not installed.
    OpenSSL PHP module (required)
    Error: openssl PHP module required but not installed.
    mysqli PHP module (required)
    Error: mysqli PHP module required but not installed.
    Generate encryption keys (required)
    Error: the "openssl_pkey_new" function on this system is not able to generate encryption keys
    If running under Windows, please see "http://www.php.net/manual/en/openssl.installation.php".
    Command line PHP
    Could not find a command line version of PHP in the web server PATH.
    If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See 'Activating scheduled tasks'
    PHP executable path Enter full path to php executable. You can leave this blank to continue the installation.
    Url rewrite is working (required)
    Url rewrite in .htaccess is not working. Check your server configuration.
    My nginx.conf looks like this:
    #user http;
    worker_processes 1;
    error_log logs/error.log;
    #error_log logs/error.log notice;
    #error_log logs/error.log info;
    #pid logs/nginx.pid;
    events {
    worker_connections 1024;
    http {
    include mime.types;
    default_type application/octet-stream;
    #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    # '$status $body_bytes_sent "$http_referer" '
    # '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log logs/access.log main;
    sendfile on;
    keepalive_timeout 15;
    gzip on;
    gzip_comp_level 1;
    server {
    listen 80;
    server_name localhost;
    location ~ \.php {
    root /srv/http/project;
    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    location / {
    root /srv/http/project;
    index index.php;
    Can someone help me?

    Thanks for the quick answer!
    progandy wrote:Did you enable all necessary modules in your php.ini?
    I had a look at /etc/php/php.ini but I can't find things (with my knwoledge) that seem to be important....
    progandy wrote:Then you'll have to create the rules in the .htaccess in the format nginx understands.
    Haven't checked that yet...
    progandy wrote:https://github.com/friendica/friendica/ … tall-Guide
    This is quite complicated. Seems like I'd need to study  to understand it:-(
    progandy wrote:http://jcsesecuneta.com/tome/labox/sett … -on-nginx/
    This one seemed clear I changed my nginx.xonf according to it:
    server {
    listen 80;
    server_name localhost;
    root /srv/http/project;
    access_log off; # If you are using 'Analytics' type software for tracking, keep this 'off'
    log_not_found on; # Turn on if you want to track "not found" errors
    error_log /srv/http/project/logs/error.log info; # valid values: debug, info, notice, warn, error, crit
    #rewrite_log on; # Uncomment if you want to debug your rewrites (then change 'crit' above to 'notice')
    # block stuff early
    # Do not log favicon.ico and robots.txt stuff
    location ~* /(favicon\.ico|robots\.txt) {
    allow all;
    access_log off;
    log_not_found off;
    # Return error 444 for these files
    location ~* ^.+\.(bzr|git|log)$ {
    access_log off;
    log_not_found off;
    return 444;
    # Deny public access to ~ (bak) files
    location ~* ~$ {
    access_log off;
    log_not_found off;
    return 444;
    # Friendica #
    location / {
    try_files $uri $uri/ @friendicacleanurl;
    location @friendicacleanurl {
    rewrite ^/(.*) /index.php?q=$uri last;
    break;
    # Security: Friendica #
    # block public access to .htaccess and .htconfig.php
    location ~* /\.ht {
    access_log off;
    log_not_found off;
    return 444;
    # block public access to .tpl files located in /view/ folder
    location ~* /view/(.*)\.tpl$ {
    access_log off;
    log_not_found off;
    return 444;
    # block public access to /util/ folder
    location ^~ /util/ {
    access_log off;
    log_not_found off;
    return 444;
    # Deliver static files directly #
    # images (Friendica)
    location ~* /(addon|images|library|spec|util|view)/(.*)\.(bmp|cur|gif|ico|j2k|jp2|jpe|jpeg|jpf|jpg|jpm|jpx|mj2|mng|png|svg|svgz|thm|tif|tiff|webp)$ {
    add_header Pragma "public";
    add_header Cache-Control "public";
    access_log off;
    log_not_found off;
    expires 28d;
    # redirect 50x error pages #
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root /usr/share/nginx/html;
    internal;
    # enable PHP #
    location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    fastcgi_pass 127.0.0.1:9000; # Comment if you want to use sock instead of tcp
    #fastcgi_pass unix:/var/run/php-fpm.sock; # Uncomment to use sock instead of tcp
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include /etc/nginx/fastcgi_params;
    but then nothing works anymore! When I try to restart nginx I get:
    sudo systemctl status nginx.service
    nginx.service - A high performance web server and a reverse proxy server
    Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled)
    Active: active (running) (Result: exit-code) since Sa 2013-12-28 18:05:13 CET; 1 day 22h ago
    Process: 15591 ExecReload=/usr/bin/nginx -g pid /run/nginx.pid; daemon on; master_process on; -s reload (code=exited, status=1/FAILURE)
    Process: 318 ExecStart=/usr/bin/nginx -g pid /run/nginx.pid; daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 314 ExecStartPre=/usr/bin/nginx -t -q -g pid /run/nginx.pid; daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Main PID: 320 (nginx)
    CGroup: /system.slice/nginx.service
    ├─ 320 nginx: master process /usr/bin/nginx -g pid /run/nginx.pid; daemon on; master_process on;
    └─10295 nginx: worker process
    Dez 30 14:59:10 thinker nginx[10294]: 2013/12/30 14:59:10 [notice] 10294#0: signal process started
    Dez 30 14:59:10 thinker systemd[1]: Reloaded A high performance web server and a reverse proxy server.
    Dez 30 16:12:58 thinker systemd[1]: Reloading A high performance web server and a reverse proxy server.
    Dez 30 16:12:58 thinker nginx[15396]: 2013/12/30 16:12:58 [emerg] 15396#0: "server" directive is not allowed here in /etc/nginx/nginx.conf:1
    Dez 30 16:12:58 thinker systemd[1]: nginx.service: control process exited, code=exited status=1
    Dez 30 16:12:58 thinker systemd[1]: Reload failed for A high performance web server and a reverse proxy server.
    Dez 30 16:15:33 thinker systemd[1]: Reloading A high performance web server and a reverse proxy server.
    Dez 30 16:15:33 thinker nginx[15591]: 2013/12/30 16:15:33 [emerg] 15591#0: no "events" section in configuration
    Dez 30 16:15:33 thinker systemd[1]: nginx.service: control process exited, code=exited status=1
    Dez 30 16:15:33 thinker systemd[1]: Reload failed for A high performance web server and a reverse proxy server.
    What's wrong?

Maybe you are looking for