diff --git a/src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/flamescion-container-tools/ace-host-integration/opt/ace-host-integration/ace-host-integration b/src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/flamescion-container-tools/ace-host-integration/opt/ace-host-integration/ace-host-integration
index 333599a..b6838ae 100755
--- a/src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/flamescion-container-tools/ace-host-integration/opt/ace-host-integration/ace-host-integration
+++ b/src/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/flamescion-container-tools/ace-host-integration/opt/ace-host-integration/ace-host-integration
@@ -1,5 +1,43 @@
 #!/bin/bash
-ACE_dir="/opt/apps/cn.flamescion.bookworm-compatibility-mode/files/bookworm-env"
+# ===== Log =====
+# log.info xxx
+# log.warn xxx
+# log.info xxx
+# log.debug xxx
+# 带颜色的echo
+function log.color_output() {
+    local color=$1
+    shift 1
+
+    echo >&2 -e "\033[${color}m$@\033[0m"
+    return 0
+}
+
+# Log is named without prefix "utils." for convenience
+# Usage: log.log <level> ...content
+function log.log() {
+    if [[ $# < 2 ]]; then
+        return -1
+    fi
+
+    local level=$1
+    shift 1
+
+    case $level in
+    error) log.color_output "0;31" "[ERROR] $@" ;;
+    warn) log.color_output "1;33" "[WARN] $@" ;;
+    info) log.color_output "1;37" "[INFO] $@" ;;
+    debug) log.color_output "1;30" "[DEBUG] $@" ;;
+    esac
+
+    return 0
+}
+
+function log.error() { log.log "error" "$@"; }
+function log.warn() { log.log "warn" $@; }
+function log.info() { log.log "info" $@; }
+function log.debug() { log.log "debug" $@; }
+
 
 
 function do_integrate(){
@@ -25,19 +63,25 @@ local file=$1
     chmod +x $file
 }
 
-
-
-for app_dir in $(ls /opt/apps/); do
-	for file in /opt/apps/$app_dir/entries/applications/*.desktop;do
-	do_integrate $file
+if [  "${IS_ACE_ENV}" != "" ];then
+	if [ -e /opt/apps/ ];then
+	for app_dir in $(ls /opt/apps/); do
+		for file in /opt/apps/$app_dir/entries/applications/*.desktop;do
+		do_integrate $file
 
 	
+		done
 	done
-done
-
-
+	else
+	log.warn "No /opt/apps directory. Skip..."
+	fi
+	
 for file in /usr/share/applications/*.desktop; do
 do_integrate $file
 done
 find "/usr/share/applications/" -xtype l -delete
 
+else
+
+log.error "DO NOT run me on host OS"
+fi