Opened 4 years ago
Last modified 4 years ago
#16500 new enhancement
app_server: Option to operate Haiku without app_server
Reported by: | CodeforEvolution | Owned by: | axeld |
---|---|---|---|
Priority: | low | Milestone: | Unscheduled |
Component: | Servers/app_server | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
What: Simply put, I feel that there should be the ability for Haiku to function and (optionally) boot without the app_server being available. I believe we used "consoled" in the past when app_server didn't even exist. :)
Why: Here are a few reasons to add this functionality:
- Allow users to recover from app_server crashes
- Allow users to retrieve more information for developers if experiencing a "black screen" related problem
- Allows developers to more easily determine if a user is experiencing a boot up problem or a graphics problem (avoid the "black screen" all together!)
- Allow developers to investigate an app_server crash with more information (you don't have to use the KDL debugger, and can use the command line interface to Debugger instead)
- Allow developers working on new architectures to run Haiku on test hardware without graphical support.
Change History (6)
comment:1 by , 4 years ago
comment:2 by , 4 years ago
Well consoled is still here and still works.
I am unable to run consoled
: https://discuss.haiku-os.org/t/how-to-use-consoled/9807. consoled
is only working when called by debug_server
, I don't understand what kind of magic it use.
comment:3 by , 4 years ago
It can't be started from a Terminal because it needs to be the TTY session master. Starting it from Tracker works. Starting it from the bootscript should work too.
comment:4 by , 4 years ago
Maybe having an always active consoled session available could be useful. I mean something similar to what is done in linux, where you can switch from XOrg to different tty sessions with CTRL-ALT-Fn.
comment:5 by , 4 years ago
I don't see the need for that. It's just a debugging tool. If you need a terminal, use Terminal (and you can dedicate a workspace to it and run it fullscreen).
Thant being said, you can easily set a shortcut to start consoled if you want to. No way to go back to app_server however, they are not really designed to run side by side. The design is that app_server normally decides who gets to access the screen. There is no reason the console gets special treatment there. It should go through app_server too (and no, "but Linux does it" is not a valid reason)
comment:6 by , 4 years ago
I see, I see. Well, I may spin off this ticket to be for the ability to properly restart the app_server. (Though that ticket may already exist...)
Hi,
Well consoled is still here and still works.
Let's check your suggestions:
When app_server crashes, all applications using BApplication will run into major problems. Dropping to a bash shell isn't better than dropping to the Debugger CLI. Really recovering from an app_server crash would be managing to restart the app_server and reconnect all apps to the new one. Or, ideally, app_server should not crash.
For black screen problems, the failsafe video driver (VESA or framebuffer) will work fine.
For debugging graphics drivers, consoled is useless because it needs a working display. If app_server put you in a "black screen" state, consoled will not know how to fix that. Like KDL, it uses the already set up framebuffer.
For debugging app_server and graphics card drivers, you can just ssh into Haiku from another computer. This way you can debug without a working display. Likewise for architectures without graphics output: your problem is not app_server there (you could use it in remote mode for example). And consoled will not help since its job is to have a console on screen, and you have no screen.
So, just use ssh and bash, it will be more helpful.
Moreover, Haiku is a desktop operating system meant to be easy to use. That is not what consoled achieves. It's OK as a debugging tool in some rare cases (ssh makes more sense in 90% of cases), but that's about it. So I don't see the point in making this supported.