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