Skip to content

Diagnostic

Guillaume Nodet edited this page Jun 12, 2024 · 1 revision

When raising an issue or trying to understand what's going wrong when creating a terminal, you may want, especially when dealing with system terminals, to run the diagnosis tool below and paste the output in the bug entry.

JLine

java -cp jline-3.26.1.jar org.jline.terminal.impl.Diag

will output full diagnosis for JLine. You may want to add some dependencies if you want specific providers to be loaded.

Jansi

java -jar jansi-3.26.1.jar

will output full diagnosis for JLine and Jansi.

Output example

System properties
=================
os.name =         Mac OS X
OSTYPE =          null
MSYSTEM =         null
PWD =             /Users/gnodet/work/git/jline3
ConEmuPID =       null
WSL_DISTRO_NAME = null
WSL_INTEROP =     null

OSUtils
=================
IS_WINDOWS = false
IS_CYGWIN =  false
IS_MSYSTEM = false
IS_WSL =     false
IS_WSL1 =    false
IS_WSL2 =    false
IS_CONEMU =  false
IS_OSX =     true

FFM Support
=================
FFM support not available: java.io.IOException: Unable to load terminal provider ffm: null

JnaSupport
=================
JNA support not available: java.io.IOException: Unable to load terminal provider jna: null

Jansi2Support
=================
Jansi 2 support not available: java.io.IOException: Unable to load terminal provider jansi: null

JniSupport
=================
StdIn stream =    true
StdOut stream =   true
StdErr stream =   true
StdIn stream name =     /dev/ttys007
StdOut stream name =    /dev/ttys007
StdErr stream name =    /dev/ttys007
Terminal size: Size[cols=184, rows=47]
The terminal seems to work: terminal org.jline.terminal.impl.PosixSysTerminal with pty org.jline.terminal.impl.jni.osx.OsXNativePty

Exec Support
=================
StdIn stream =    true
StdOut stream =   true
StdErr stream =   true
StdIn stream name =     /dev/ttys007
StdOut stream name =    /dev/ttys007
StdErr stream name =    /dev/ttys007
Terminal size: Size[cols=184, rows=47]
The terminal seems to work: terminal org.jline.terminal.impl.PosixSysTerminal with pty org.jline.terminal.impl.exec.ExecPty
Clone this wiki locally