feat: 设置为开机自启动,异常退出后自动拉起
设置为开机自启动,异常退出后自动拉起 Log: Task: https://pms.uniontech.com/task-view-142733.html Influence: 开机自启动,退出自动被拉起 Change-Id: I5c9f8ef80e8a4f5fed2aa9bb59de09455a165360
This commit is contained in:
parent
06ada3be52
commit
765365d364
@ -1,3 +1,4 @@
|
||||
add_subdirectory(systemd)
|
||||
add_subdirectory(dconf)
|
||||
add_subdirectory(service)
|
||||
|
||||
|
15
misc/service/CMakeLists.txt
Normal file
15
misc/service/CMakeLists.txt
Normal file
@ -0,0 +1,15 @@
|
||||
set(SERVICE_FILES
|
||||
dde-application-manager.service
|
||||
)
|
||||
|
||||
macro(install_symlink filepath wantsdir)
|
||||
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/link/${wantsdir}/)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_INSTALL_PREFIX}/lib/systemd/user/${filepath} ${PROJECT_BINARY_DIR}/link/${wantsdir}/${filepath})
|
||||
install(FILES ${PROJECT_BINARY_DIR}/link/${wantsdir}/${filepath} DESTINATION lib/systemd/user/${wantsdir}/)
|
||||
endmacro(install_symlink)
|
||||
|
||||
# 安装service文件到用户service目录
|
||||
install(FILES ${SERVICE_FILES} DESTINATION lib/systemd/user/)
|
||||
|
||||
# 添加软链接,系统启动时被dde-session-initialized拉起
|
||||
install_symlink(dde-application-manager.service dde-session-initialized.target.wants)
|
21
misc/service/dde-application-manager.service
Normal file
21
misc/service/dde-application-manager.service
Normal file
@ -0,0 +1,21 @@
|
||||
[Unit]
|
||||
Description=dde application manager service
|
||||
RefuseManualStart=no
|
||||
RefuseManualStop=no
|
||||
#OnFailure=dde-session-shutdown.target
|
||||
OnFailureJobMode=replace-irreversibly
|
||||
CollectMode=inactive-or-failed
|
||||
StartLimitIntervalSec=10s
|
||||
StartLimitBurst=30
|
||||
|
||||
Requisite=dde-session-initialized.target
|
||||
PartOf=dde-session-initialized.target
|
||||
After=dde-session-initialized.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/deepin-application-manager
|
||||
TimeoutStartSec=infinity
|
||||
Slice=components.slice
|
||||
Restart=on-failure
|
||||
RestartSec=300ms
|
@ -635,7 +635,7 @@ void Entry::active(uint32_t timestamp)
|
||||
// X11环境
|
||||
XWindow xid = winInfo->getXid();
|
||||
WindowInfoBase *activeWin = dock->getActiveWindow();
|
||||
if (xid != activeWin->getXid()) {
|
||||
if (activeWin && xid != activeWin->getXid()) {
|
||||
dock->doActiveWindow(xid);
|
||||
} else {
|
||||
bool found = false;
|
||||
|
Loading…
Reference in New Issue
Block a user