Add qubes.StartApp service
A simple service to start application described in .desktop file. This way, dom0 can completely ignore VM-originated Exec= entry.
This commit is contained in:
		
							parent
							
								
									41cd218660
								
							
						
					
					
						commit
						22e261f909
					
				
							
								
								
									
										1
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								Makefile
									
									
									
									
									
								
							| @ -238,6 +238,7 @@ install-common: | ||||
| 	install -m 0644 qubes-rpc/qubes.SetDateTime $(DESTDIR)/etc/qubes-rpc | ||||
| 	install -m 0755 qubes-rpc/qubes.InstallUpdatesGUI $(DESTDIR)/etc/qubes-rpc | ||||
| 	install -m 0755 qubes-rpc/qubes.ResizeDisk $(DESTDIR)/etc/qubes-rpc | ||||
| 	install -m 0755 qubes-rpc/qubes.StartApp $(DESTDIR)/etc/qubes-rpc | ||||
| 
 | ||||
| 	install -d $(DESTDIR)/etc/qubes/suspend-pre.d | ||||
| 	install -m 0644 qubes-rpc/suspend-pre.README $(DESTDIR)/etc/qubes/suspend-pre.d/README | ||||
|  | ||||
							
								
								
									
										24
									
								
								qubes-rpc/qubes.StartApp
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								qubes-rpc/qubes.StartApp
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,24 @@ | ||||
| #!/bin/sh | ||||
| 
 | ||||
| if [ -z "$1" ]; then | ||||
|     echo "This service require an argument" >&2 | ||||
|     exit 1 | ||||
| fi | ||||
| 
 | ||||
| # make sure it have .desktop suffix, and only one of it | ||||
| app_basename="${1%.desktop}.desktop" | ||||
| 
 | ||||
| # Based on XDG Base Directory Specification, Version 0.7 | ||||
| [ -n "$XDG_DATA_HOME" ] || XDG_DATA_HOME="$HOME/.local/share" | ||||
| [ -n "$XDG_DATA_DIRS" ] || XDG_DATA_DIRS="/usr/local/share:/usr/share" | ||||
| 
 | ||||
| for dir in $(echo "$XDG_DATA_HOME:$XDG_DATA_DIRS" | tr : ' '); do | ||||
|     if ! [ -d "$dir/applications" ]; then | ||||
|         continue | ||||
|     fi | ||||
|     if [ -f "$dir/applications/$app_basename" ]; then | ||||
|         exec qubes-desktop-run "$dir/applications/$app_basename" | ||||
|     fi | ||||
| done | ||||
| echo "applications/$app_basename not found in $XDG_DATA_HOME:$XDG_DATA_DIRS" >&2 | ||||
| exit 1 | ||||
| @ -353,6 +353,7 @@ rm -f %{name}-%{version} | ||||
| %config(noreplace) /etc/qubes-rpc/qubes.SetDateTime | ||||
| %config(noreplace) /etc/qubes-rpc/qubes.InstallUpdatesGUI | ||||
| %config(noreplace) /etc/qubes-rpc/qubes.ResizeDisk | ||||
| %config(noreplace) /etc/qubes-rpc/qubes.StartApp | ||||
| %dir /etc/qubes/autostart | ||||
| /etc/qubes/autostart/README.txt | ||||
| %config /etc/qubes/autostart/*.desktop.d/30_qubes.conf | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Marek Marczykowski-Górecki
						Marek Marczykowski-Górecki