Ho un'applicazione che deve comportarsi diversamente se eseguita direttamente dalla console di linux. Quindi, se un utente si connette con SSH per eseguire FooBar, o se l'utente accede alla console e accede direttamente per eseguire FooBar, voglio che faccia qualcosa di diverso.Come sapere se è in esecuzione in una console linux rispetto a una sessione ssh?
Quale API C è necessario chiamare per indicare la differenza tra questi due scenari? Stavo pensando che dovrei dare un'occhiata alle informazioni "tty/pts" (come quello che vedo quando eseguo "ps axf"), ma non sono sicuro che sia la soluzione migliore, né quale API chiamare per ottenere quell'informazione
Suggerimenti apprezzati. :)
Esistono altri modi per ottenere una sessione di shell non tty rispetto alla connessione su SSH. Per esempio, adesso sul mio desktop sto usando Konsole in KDE ... Sono fisicamente sul computer, ma si presenta come una pty quando eseguo 'who'. Conta come una console o una sessione "ssh" per i tuoi scopi? Forse dovresti modificare la tua domanda per essere più chiara. – rmeador
Penso che tu stia chiedendo due cose diverse ... la vera domanda sembra essere come dire se stai correndo su un terminale X locale o tramite una sessione ssh. "Console Linux" significa in genere la console hardware a cui si accede con [Ctrl +] Alt + F2 ecc. La successiva può essere rilevata se $ TERM == "linux". –