Skip to content
  • Auke Kok's avatar
    unit: printf specifiers %u and %h: $USER and $HOME. · b2896c90
    Auke Kok authored
    These printf specifiers allow us to refer to $HOME and $USER
    in unit files. These are particularly helpful in instanced
    units that have "User=" set, and in systemd --user domains.
    
    The specifiers will return the pw_name and pw_dir fields
    if the unit file has a User= field.
    
    If the unit file does not have a User= field, the value
    substituted is either $USER or $HOME from the environment,
    or, if unset, the values from pw_name or pw_dir.
    
    This patch is somewhat after Ran Benita's original patch,
    which didn't get merged. I've split up the 2 specifiers
    and extended them to do what is logically expected from
    these specifiers.
    
    Note that expansion is done at `start` time, not after
    the units are parsed. Using `systemctl show` will just
    show the specifiers.
    b2896c90