Sto cercando di eseguire ADB su un server Linux con più utenti in cui non sono root (per giocare con il mio emulatore Android). Il demone adb scrive i suoi log nel file /tmp/adb.logche sfortunatamente sembra essere hardcoded in ADB e questa situazione non cambierà .
Quindi, adb non riesce a correre, dando l'errore evidente: cannot open '/tmp/adb.log': Permission denied. Questo file viene creato da un altro utente e /tmpha un po 'di sticky on. Se inizio adb adb nodaemon serverfacendolo scrivere su stdout, non si verificano errori (ho anche impostato la sua porta su un valore univoco per evitare conflitti).
La mia domanda è: c'è un modo per far scrivere ADB su un altro file di /tmp/adb.log? Più in generale, esiste un modo per creare una sorta di link simbolico specifico del processo? Voglio reindirizzare tutti gli accessi ai file /tmp/adb.log, dicendo, un file ~/tmp/adb.log.
Ancora una volta, non sono root sul server, quindi chroot, mount -o rbinde chmodnon sono opzioni valide. Se possibile, mi piacerebbe non modificare le fonti ADB, ma sicuramente se non ci sono altre soluzioni, lo farò.
PS Per il caso ADB speciali Io può ricorrere a correre adb nodaemon servercon nohupe il reindirizzamento di uscita, ma la questione generale è ancora rilevante.
LD_PRELOADtrucchi, anche se sarebbe più complicato.
/home/$USER/tmp/adb.loge ricostruire adb :)
/tmp/adb.log, o addirittura montare il suo privato/tmp. fareman unshareeman namespaceseman nsenter.