code: protected void acquire() throws IOException {
          //Make sure to set an initial size
          onResized(80, 24);
  
          saveTerminalSettings();
          canonicalMode(false);
          keyEchoEnabled(false);
          if(catchSpecialCharacters) {
              keyStrokeSignalsEnabled(false);
          }
          registerTerminalResizeListener(new Runnable() {
              @Override
              public void run() {
                  // This will trigger a resize notification as the size will be different than before
                  try {
                      getTerminalSize();
                  }
                  catch(IOException ignore) {
                      // Not much to do here, we can't re-throw it
                  }
              }
          });
          Runtime.getRuntime().addShutdownHook(shutdownHook);
          acquired = true;
      }
docs: Effectively taking over the terminal and enabling it for Lanterna to use, by turning off echo and canonical mode,
  adding resize listeners and optionally trap unix signals. This should be called automatically by the constructor
  of any end-user class extending from {@link UnixLikeTerminal}
  @throws IOException If there was an I/O error