Hello Prashanth,
I'm trying to run noux_bash on Linux on today's master genode branch, and running into some issues.
When I make run/noux_bash, I can see a x-window pop-up with the bash root prompt, and can extract using echo the following responses from bash:
bash-4.1# echo $PATH /usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:.
bash-4.1# echo $SHELL /bin/bash
bash-4.1# echo $TERM linux
However, any non-shell command causes a dead unresponsive shell, with
"Kernel: ipc_cap_data nullptr"
Noux does not support fork on Linux (I don't expect this to change anytime soon). Hence, only very simple scenarios like noux_vim.run or noux.run are supposed to work. All base platforms other than Linux should work.
The glitch about character input is caused by the mapping of SDL input events to the keycodes as understood by Genode. The problem is related to the following issue:
https://github.com/genodelabs/genode/issues/1187
As we merely use base-linux as a development vehicle where whose issues are not important, we haven't addressed them so far.
The broader question I had is: what would be needed to run bash from within a non-graphical terminal, as in via an ssh server. I have a very basic and incomplete sshd server running in genode linux [1], and need to fulfill, on the server end, the pty_request and shell_request sent by the ssh client.
I notice that the bash port is built using:
repos/ports/src/noux-pkg/bash/target.mk: # Prevent interactions with nonexisting tty driver CFLAGS += -DNO_TTY_DRIVER
and a repos/ports/src/noux-pkg/bash/check_dev_tty.patch which removes a bash call to check_dev_tty().
Would this affect the above goal?
Connecting Noux directly to a terminal service like 'tcp_terminal' instead of the graphical terminal should just work.
Note, however, that you may encounter incompatibilities between your local terminal emulator (like xterm) and the 'TERM' configuration used by noux applications. In the noux_bash scenario, the 'TERM' environment variable is set to 'linux', which is understood by Genode's graphical terminal, but probably not by the terminal of choice you are using on your host machine. Genode's port of ncurses enables 'vt102' in addition to 'linux' (see libports/ports/ncurses.port). So it may be worth to give this a try. For further discussion of the terminal topic, let me refer to the following issue:
https://github.com/genodelabs/genode/issues/1907
Cheers Norman