1--- 2title: What Settings Are Currently Available For Transient Units? 3category: Interfaces 4layout: default 5SPDX-License-Identifier: LGPL-2.1-or-later 6--- 7 8# What Settings Are Currently Available For Transient Units? 9 10Our intention is to make all settings that are available as unit file settings 11also available for transient units, through the D-Bus API. At the moment, 12device, swap, and target units are not supported at all as transient units, but 13others are pretty well supported. 14 15The lists below contain all settings currently available in unit files. The 16ones currently available in transient units are prefixed with `✓`. 17 18## Generic Unit Settings 19 20Most generic unit settings are available for transient units. 21 22``` 23✓ Description= 24✓ Documentation= 25✓ SourcePath= 26✓ Requires= 27✓ Requisite= 28✓ Wants= 29✓ BindsTo= 30✓ Conflicts= 31✓ Before= 32✓ After= 33✓ OnFailure= 34✓ PropagatesReloadTo= 35✓ ReloadPropagatedFrom= 36✓ PartOf= 37✓ Upholds= 38✓ JoinsNamespaceOf= 39✓ RequiresMountsFor= 40✓ StopWhenUnneeded= 41✓ RefuseManualStart= 42✓ RefuseManualStop= 43✓ AllowIsolate= 44✓ DefaultDependencies= 45✓ OnFailureJobMode= 46✓ IgnoreOnIsolate= 47✓ JobTimeoutSec= 48✓ JobRunningTimeoutSec= 49✓ JobTimeoutAction= 50✓ JobTimeoutRebootArgument= 51✓ StartLimitIntervalSec= 52✓ StartLimitBurst= 53✓ StartLimitAction= 54✓ FailureAction= 55✓ SuccessAction= 56✓ FailureActionExitStatus= 57✓ SuccessActionExitStatus= 58✓ RebootArgument= 59✓ ConditionPathExists= 60✓ ConditionPathExistsGlob= 61✓ ConditionPathIsDirectory= 62✓ ConditionPathIsSymbolicLink= 63✓ ConditionPathIsMountPoint= 64✓ ConditionPathIsReadWrite= 65✓ ConditionDirectoryNotEmpty= 66✓ ConditionFileNotEmpty= 67✓ ConditionFileIsExecutable= 68✓ ConditionNeedsUpdate= 69✓ ConditionFirstBoot= 70✓ ConditionKernelCommandLine= 71✓ ConditionKernelVersion= 72✓ ConditionArchitecture= 73✓ ConditionFirmware= 74✓ ConditionVirtualization= 75✓ ConditionSecurity= 76✓ ConditionCapability= 77✓ ConditionHost= 78✓ ConditionACPower= 79✓ ConditionUser= 80✓ ConditionGroup= 81✓ ConditionControlGroupController= 82✓ AssertPathExists= 83✓ AssertPathExistsGlob= 84✓ AssertPathIsDirectory= 85✓ AssertPathIsSymbolicLink= 86✓ AssertPathIsMountPoint= 87✓ AssertPathIsReadWrite= 88✓ AssertDirectoryNotEmpty= 89✓ AssertFileNotEmpty= 90✓ AssertFileIsExecutable= 91✓ AssertNeedsUpdate= 92✓ AssertFirstBoot= 93✓ AssertKernelCommandLine= 94✓ AssertKernelVersion= 95✓ AssertArchitecture= 96✓ AssertVirtualization= 97✓ AssertSecurity= 98✓ AssertCapability= 99✓ AssertHost= 100✓ AssertACPower= 101✓ AssertUser= 102✓ AssertGroup= 103✓ AssertControlGroupController= 104✓ CollectMode= 105``` 106 107## Execution-Related Settings 108 109All execution-related settings are available for transient units. 110 111``` 112✓ WorkingDirectory= 113✓ RootDirectory= 114✓ RootImage= 115✓ User= 116✓ Group= 117✓ SupplementaryGroups= 118✓ Nice= 119✓ OOMScoreAdjust= 120✓ CoredumpFilter= 121✓ IOSchedulingClass= 122✓ IOSchedulingPriority= 123✓ CPUSchedulingPolicy= 124✓ CPUSchedulingPriority= 125✓ CPUSchedulingResetOnFork= 126✓ CPUAffinity= 127✓ UMask= 128✓ Environment= 129✓ EnvironmentFile= 130✓ PassEnvironment= 131✓ UnsetEnvironment= 132✓ DynamicUser= 133✓ RemoveIPC= 134✓ StandardInput= 135✓ StandardOutput= 136✓ StandardError= 137✓ StandardInputText= 138✓ StandardInputData= 139✓ TTYPath= 140✓ TTYReset= 141✓ TTYVHangup= 142✓ TTYVTDisallocate= 143✓ TTYRows= 144✓ TTYColumns= 145✓ SyslogIdentifier= 146✓ SyslogFacility= 147✓ SyslogLevel= 148✓ SyslogLevelPrefix= 149✓ LogLevelMax= 150✓ LogExtraFields= 151✓ LogRateLimitIntervalSec= 152✓ LogRateLimitBurst= 153✓ SecureBits= 154✓ CapabilityBoundingSet= 155✓ AmbientCapabilities= 156✓ TimerSlackNSec= 157✓ NoNewPrivileges= 158✓ KeyringMode= 159✓ ProtectProc= 160✓ ProcSubset= 161✓ SystemCallFilter= 162✓ SystemCallArchitectures= 163✓ SystemCallErrorNumber= 164✓ SystemCallLog= 165✓ MemoryDenyWriteExecute= 166✓ RestrictNamespaces= 167✓ RestrictRealtime= 168✓ RestrictSUIDSGID= 169✓ RestrictAddressFamilies= 170✓ RootHash= 171✓ RootHashSignature= 172✓ RootVerity= 173✓ LockPersonality= 174✓ LimitCPU= 175✓ LimitFSIZE= 176✓ LimitDATA= 177✓ LimitSTACK= 178✓ LimitCORE= 179✓ LimitRSS= 180✓ LimitNOFILE= 181✓ LimitAS= 182✓ LimitNPROC= 183✓ LimitMEMLOCK= 184✓ LimitLOCKS= 185✓ LimitSIGPENDING= 186✓ LimitMSGQUEUE= 187✓ LimitNICE= 188✓ LimitRTPRIO= 189✓ LimitRTTIME= 190✓ ReadWritePaths= 191✓ ReadOnlyPaths= 192✓ InaccessiblePaths= 193✓ BindPaths= 194✓ BindReadOnlyPaths= 195✓ TemporaryFileSystem= 196✓ PrivateTmp= 197✓ PrivateDevices= 198✓ PrivateMounts= 199✓ ProtectKernelTunables= 200✓ ProtectKernelModules= 201✓ ProtectKernelLogs= 202✓ ProtectControlGroups= 203✓ PrivateNetwork= 204✓ PrivateUsers= 205✓ ProtectSystem= 206✓ ProtectHome= 207✓ ProtectClock= 208✓ MountFlags= 209✓ MountAPIVFS= 210✓ Personality= 211✓ RuntimeDirectoryPreserve= 212✓ RuntimeDirectoryMode= 213✓ RuntimeDirectory= 214✓ StateDirectoryMode= 215✓ StateDirectory= 216✓ CacheDirectoryMode= 217✓ CacheDirectory= 218✓ LogsDirectoryMode= 219✓ LogsDirectory= 220✓ ConfigurationDirectoryMode= 221✓ ConfigurationDirectory= 222✓ PAMName= 223✓ IgnoreSIGPIPE= 224✓ UtmpIdentifier= 225✓ UtmpMode= 226✓ SELinuxContext= 227✓ SmackProcessLabel= 228✓ AppArmorProfile= 229✓ Slice= 230``` 231 232## Resource Control Settings 233 234All cgroup/resource control settings are available for transient units 235 236``` 237✓ CPUAccounting= 238✓ CPUWeight= 239✓ StartupCPUWeight= 240✓ CPUShares= 241✓ StartupCPUShares= 242✓ CPUQuota= 243✓ CPUQuotaPeriodSec= 244✓ AllowedCPUs= 245✓ StartupAllowedCPUs= 246✓ AllowedMemoryNodes= 247✓ StartupAllowedMemoryNodes= 248✓ MemoryAccounting= 249✓ DefaultMemoryMin= 250✓ MemoryMin= 251✓ DefaultMemoryLow= 252✓ MemoryLow= 253✓ MemoryHigh= 254✓ MemoryMax= 255✓ MemorySwapMax= 256✓ MemoryLimit= 257✓ DeviceAllow= 258✓ DevicePolicy= 259✓ IOAccounting= 260✓ IOWeight= 261✓ StartupIOWeight= 262✓ IODeviceWeight= 263✓ IOReadBandwidthMax= 264✓ IOWriteBandwidthMax= 265✓ IOReadIOPSMax= 266✓ IOWriteIOPSMax= 267✓ BlockIOAccounting= 268✓ BlockIOWeight= 269✓ StartupBlockIOWeight= 270✓ BlockIODeviceWeight= 271✓ BlockIOReadBandwidth= 272✓ BlockIOWriteBandwidth= 273✓ TasksAccounting= 274✓ TasksMax= 275✓ Delegate= 276✓ DisableControllers= 277✓ IPAccounting= 278✓ IPAddressAllow= 279✓ IPAddressDeny= 280✓ ManagedOOMSwap= 281✓ ManagedOOMMemoryPressure= 282✓ ManagedOOMMemoryPressureLimit= 283✓ ManagedOOMPreference= 284``` 285 286## Process Killing Settings 287 288All process killing settings are available for transient units: 289 290``` 291✓ SendSIGKILL= 292✓ SendSIGHUP= 293✓ KillMode= 294✓ KillSignal= 295✓ RestartKillSignal= 296✓ FinalKillSignal= 297✓ WatchdogSignal= 298``` 299 300## Service Unit Settings 301 302Most service unit settings are available for transient units. 303 304``` 305✓ BusName= 306✓ ExecCondition= 307✓ ExecReload= 308✓ ExecStart= 309✓ ExecStartPost= 310✓ ExecStartPre= 311✓ ExecStop= 312✓ ExecStopPost= 313✓ ExitType= 314✓ FileDescriptorStoreMax= 315✓ GuessMainPID= 316✓ NonBlocking= 317✓ NotifyAccess= 318✓ OOMPolicy= 319✓ PIDFile= 320✓ RemainAfterExit= 321✓ Restart= 322✓ RestartForceExitStatus= 323✓ RestartPreventExitStatus= 324✓ RestartSec= 325✓ RootDirectoryStartOnly= 326✓ RuntimeMaxSec= 327✓ RuntimeRandomizedExtraSec= 328 Sockets= 329✓ SuccessExitStatus= 330✓ TimeoutAbortSec= 331✓ TimeoutSec= 332✓ TimeoutStartFailureMode= 333✓ TimeoutStartSec= 334✓ TimeoutStopFailureMode= 335✓ TimeoutStopSec= 336✓ Type= 337✓ USBFunctionDescriptors= 338✓ USBFunctionStrings= 339✓ WatchdogSec= 340``` 341 342## Mount Unit Settings 343 344All mount unit settings are available to transient units: 345 346``` 347✓ What= 348✓ Where= 349✓ Options= 350✓ Type= 351✓ TimeoutSec= 352✓ DirectoryMode= 353✓ SloppyOptions= 354✓ LazyUnmount= 355✓ ForceUnmount= 356✓ ReadWriteOnly= 357``` 358 359## Automount Unit Settings 360 361All automount unit setting is available to transient units: 362 363``` 364✓ Where= 365✓ DirectoryMode= 366✓ TimeoutIdleSec= 367``` 368 369## Timer Unit Settings 370 371Most timer unit settings are available to transient units. 372 373``` 374✓ OnActiveSec= 375✓ OnBootSec= 376✓ OnCalendar= 377✓ OnClockChange= 378✓ OnStartupSec= 379✓ OnTimezoneChange= 380✓ OnUnitActiveSec= 381✓ OnUnitInactiveSec= 382✓ Persistent= 383✓ WakeSystem= 384✓ RemainAfterElapse= 385✓ AccuracySec= 386✓ RandomizedDelaySec= 387✓ FixedRandomDelay= 388 Unit= 389``` 390 391## Slice Unit Settings 392 393Slice units are fully supported as transient units, but they have no settings 394of their own beyond the generic unit and resource control settings. 395 396## Scope Unit Settings 397 398Scope units are fully supported as transient units (in fact they only exist as 399such). 400 401``` 402✓ RuntimeMaxSec= 403✓ RuntimeRandomizedExtraSec= 404✓ TimeoutStopSec= 405``` 406 407## Socket Unit Settings 408 409Most socket unit settings are available to transient units. 410 411``` 412✓ ListenStream= 413✓ ListenDatagram= 414✓ ListenSequentialPacket= 415✓ ListenFIFO= 416✓ ListenNetlink= 417✓ ListenSpecial= 418✓ ListenMessageQueue= 419✓ ListenUSBFunction= 420✓ SocketProtocol= 421✓ BindIPv6Only= 422✓ Backlog= 423✓ BindToDevice= 424✓ ExecStartPre= 425✓ ExecStartPost= 426✓ ExecStopPre= 427✓ ExecStopPost= 428✓ TimeoutSec= 429✓ SocketUser= 430✓ SocketGroup= 431✓ SocketMode= 432✓ DirectoryMode= 433✓ Accept= 434✓ FlushPending= 435✓ Writable= 436✓ MaxConnections= 437✓ MaxConnectionsPerSource= 438✓ KeepAlive= 439✓ KeepAliveTimeSec= 440✓ KeepAliveIntervalSec= 441✓ KeepAliveProbes= 442✓ DeferAcceptSec= 443✓ NoDelay= 444✓ Priority= 445✓ ReceiveBuffer= 446✓ SendBuffer= 447✓ IPTOS= 448✓ IPTTL= 449✓ Mark= 450✓ PipeSize= 451✓ FreeBind= 452✓ Transparent= 453✓ Broadcast= 454✓ PassCredentials= 455✓ PassSecurity= 456✓ PassPacketInfo= 457✓ TCPCongestion= 458✓ ReusePort= 459✓ MessageQueueMaxMessages= 460✓ MessageQueueMessageSize= 461✓ RemoveOnStop= 462✓ Symlinks= 463✓ FileDescriptorName= 464 Service= 465✓ TriggerLimitIntervalSec= 466✓ TriggerLimitBurst= 467✓ SmackLabel= 468✓ SmackLabelIPIn= 469✓ SmackLabelIPOut= 470✓ SELinuxContextFromNet= 471``` 472 473## Swap Unit Settings 474 475Swap units are currently not available at all as transient units: 476 477``` 478 What= 479 Priority= 480 Options= 481 TimeoutSec= 482``` 483 484## Path Unit Settings 485 486Most path unit settings are available to transient units. 487 488``` 489✓ PathExists= 490✓ PathExistsGlob= 491✓ PathChanged= 492✓ PathModified= 493✓ DirectoryNotEmpty= 494 Unit= 495✓ MakeDirectory= 496✓ DirectoryMode= 497``` 498 499## Install Section 500 501The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense. 502 503``` 504 Alias= 505 WantedBy= 506 RequiredBy= 507 Also= 508 DefaultInstance= 509``` 510