diff --git a/server/src/main/java/com/genymobile/scrcpy/Server.java b/server/src/main/java/com/genymobile/scrcpy/Server.java index 04e4a837..d6dc1e7d 100644 --- a/server/src/main/java/com/genymobile/scrcpy/Server.java +++ b/server/src/main/java/com/genymobile/scrcpy/Server.java @@ -27,6 +27,7 @@ import com.genymobile.scrcpy.video.VideoSource; import android.annotation.SuppressLint; import android.os.Build; import android.os.Looper; +import android.system.Os; import java.io.File; import java.io.IOException; @@ -233,6 +234,8 @@ public final class Server { } }); + dropRootPrivileges(); + prepareMainLooper(); Options options = Options.parse(args); @@ -273,4 +276,17 @@ public final class Server { // Do not print stack trace, a user-friendly error-message has already been logged } } + + @SuppressWarnings("deprecation") + private static void dropRootPrivileges() { + try { + if (Os.getuid() == 0) { + // Copy-paste does not work with root user + // + Os.setuid(2000); + } + } catch (Exception e) { + Ln.w("Cannot set UID", e); + } + } }