Is there a WM(?) without the need of keyboard OR mouse?
Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Is there a WM(?) without the need of keyboard OR mouse?
Hi
I have a raspberry pi connected to my TV/Display in the livingroom but I find it rather ineffective to need and connect a vnc session in order to handle it in most ways. Tiling window managers have a logical way of moving windows in a pattern which I like - but it is hard to have it to work with this display since it does not have a keyboard or mouse and often requires a vnc connection for window placement or something that needs to show there.
I would want a (WM?) which I can interact with like over a ssh session or similar, is there such a thing?
In the past I have had my current setup to startup a terminal in full-screen with tmux, which I can connect to and change around in within and I can see it live on the screen, but tmux does not work very well when it comes to graphical content.
I have used Awesome somewhat a while back, if maybe there is a way to send keyboard combinations as a command like [alt] + [1] or [ctrl] + [r] through a command??
Some way to handle graphical stuff without mouse and keyboard pretty much if you know what I mean.
you can ssh to that raspberry from any other computer or even from your phone or tablet.
Well. yes of course I can, that's not the problem, and it's rather given that I do so in order to interact with the system or VM in any way, as I said already I have tried to use tmux in full screen on the pi (given, connected over ssh), but it does not show graphical stuff. I can set like SCREEN variable to make applications start on the screen but most of them will only stack ontop of eachother without any logical placement.
I still don't understand your problem, probably you want to use remote X session, where the X client and X server run on tho different hosts (called xdmcp). That works on RPi too.
There is a way to forward your display to RPi too, that is described (for example) here: https://hpcf.umbc.edu/general-produc...rams-remotely/
I still don't understand your problem, probably you want to use remote X session, where the X client and X server run on tho different hosts (called xdmcp). That works on RPi too.
There is a way to forward your display to RPi too, that is described (for example) here: https://hpcf.umbc.edu/general-produc...rams-remotely/
Hmm well not really. Well, I am not looking for like full interaction as a regular desktop, I (mostly) need to have logical placement of windows that will show, for instance I open a window and it shows fullscreen, and then a second window and it will arrange accordingly, not just lay ontop, therefore some tiling functionality is preferred. This way I can start applications from the commandline (ssh) and they will arrange in a fair manner without needing a mouse or a vnc connection.
Looking into AwesomeWM again, I just found that there is a awesome-client which I can send certain commands through, like changing desktop, change arrangements and quite a lot in fact which might just be what I am looking for however a bit complicated to step into since I only tried Awesome briefly like ten years ago.
However if there are other ways to achieve this I am all ears, perhaps through some separate application ontop (equivalent like tmux) or other (tiling?) VM with client-functionality?
Yeah I know there are some, only I personally have no user experience of them so hence my question. The problem still being that I don't actually use the tv/screen as a desktop but rather as a showscreen or whatever you would call it, for pictures or whatever fitting the purpose. At the moment I only use the screen for a clockwidget and MPD covers through conky and a terminal opening 'screen' so I can interact with it simply by attaching the same 'screen' elsewere, but it has rather huge limitations and I feel that perhaps there are better alternatives out there. When I found Awesome there was no real mention of this 'awesome-client' functionality, so looking at some other WM might not really expose such functions either right away.
This should work for what I think you're asking for, which is to open an ssh connection to the computer, launch programs from that ssh session, and have them appear on the computer's attached screen.
Of course, you can always jury-rig it. Just install a tiling window manager on the computer, and have something running in the background that polls a unix socket in a "while read" loop. Then you can ssh in and echo commands into that unix socket.
This should work for what I think you're asking for, which is to open an ssh connection to the computer, launch programs from that ssh session, and have them appear on the computer's attached screen.
Of course, you can always jury-rig it. Just install a tiling window manager on the computer, and have something running in the background that polls a unix socket in a "while read" loop. Then you can ssh in and echo commands into that unix socket.
Sounds interesting for sure, a little curious about that unixsocket/loop, do you have an example of that?
Quote:
Originally Posted by openbsd98324
I ssh to the machine and run :
export DISPLAY=:0 ; ncdeskctrl
It runs a ncurses code that send my keys (keyboard) to the xdotool.
That means you control the machine over ncurses+ssh.
Code is on my git, around.
Nice! Have been looking for something described like that, will try along with bspwm.
int main()
{
printf( " => Termios for Beginners: For Linux Questions ... \n" );
struct termios ot;
if(tcgetattr(STDIN_FILENO, &ot) == -1) perror(")-");
struct termios t = ot;
t.c_lflag &= ~(ECHO | ICANON);
t.c_cc[VMIN] = 1;
t.c_cc[VTIME] = 0;
if( tcsetattr( STDIN_FILENO, TCSANOW, &t) == -1) perror(")-");
int a; int b;
while( a = getchar(), a != 'q')
{
fprintf( stderr, "you pressed '%c'\n", a);
if ( a == 'x' )
system( " xdotool key x " );
else if ( a == 'y' )
system( " xdotool key y " );
else if ( a == 'z' )
system( " xdotool key z " );
else if ( a == '[' )
{
fprintf( stderr, "you pressed '%c', the key [\n", a);
b = getchar();
fprintf( stderr, "you pressed the escape with '%c'.\n", b );
if ( b == 'A' )
{
fprintf( stderr, "you pressed '%c', the key A so Up then.\n", b );
system( " xdotool key Up " );
}
else if ( b == 'B' )
{
fprintf( stderr, "you pressed '%c', the key B so Down then.\n", b );
system( " xdotool key Down " );
}
else if ( b == 'D' )
{
fprintf( stderr, "you pressed '%c', the key D so Left then.\n", b );
system( " xdotool key Left " );
}
else if ( b == 'C' )
{
fprintf( stderr, "you pressed '%c', the key C so Right then.\n", b );
system( " xdotool key Right " );
}
}
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.