Temperatures and Terminal question?

Just kind of curious we have like all the data and these fancy gauges etc for ram use and such for most people that don’t run their own metal they could care less what the temps are but me on the other hand I like to monitor my temps from time to time especially in the summer as there are days I should have the AC on but I don’t or I shut it off when I leave etc… I think it would be a cool feature but like I say if your just going down the line paying monthly fees for VPS servers and such well maybe not so much. But you could always have an enable and disable button for the temperature gauge on the dashboard. Just maybe make a little thermometer like the old glass tube ones and put it off to the right of the other gauges maybe… Have it green in safe op and then yellow in getting warm and red when temps are critical.

Just an idea thought I’d throw it out there.

1 Like

I thought there was, seen chat about it like here.
https://sourceforge.net/p/webadmin/discussion/600155/thread/38946ad0d7/
I run VPS so I don’t see it.

more recent

1 Like

Thanks yes the sensors command at the terminal don’t work in Debian 12.

That would explain it. Works in bullseye.

But I’m starting to realize a lot of functionality is at a loss at the moment. I due time Rome wasn’t built in a day. When you are running a small crew split shifts after work work its kinda hard to dig your heels in especially around the holidays that makes things even more nuts!

I can always install ptemp or whatever I guess and monitor via ptemp.

Well I manually installed lm-sensors and now I can type sensor but the dang terminal is so wonky on Debian 12 that nothing lines up right looks like gibberish.

Tried installing 3 different Debian 12 ISO’s, Tried Turning Off Web GL and all of the terminal types same thing you can’t see input when you type and the text output is all over the screen like pictured.

I think its something with Python, Java, or the way websockets are handled … Or maybe even something in paths and environments that is different for Debian 12. IDK Ilia is a busy dude I’ll give him that hard driver. Wish I could help him out somehow to pin it down for him. I know he tried to recreate the problem and couldn’t.

I dunno I know that loopback addresses all go to 127 but maybe in this instance using websockets because the host is on 127.0.1.1 instead of 127.0.0.1 technically speaking is why it has trouble dunno how web sockets work 100% with loopback addresses you would think they all resolve to 127 right. Yeah so IDK been pondering on the Terminal thing for a bit.

But in the process in looking for a way to enable it I found some cool features that allowed me to link to virtualmin support and link to my KVM and such Very NICE!


And I added a logo for kicks cause well why not right but you can see virtualmin support link and KVM Server Link under the buttons love it simple and effective.

Now I can click on them for ez access to the forums or to my KVM server !!!

But with lm-sensors installed maybe I can run the same line of code and get stuff working as far as temp sensors go possibly… ? Errr dunno maybe I’ll give it a shot.

Thanks for sharing!

Have you tried to zoom in the page a little bit by in the browser by clicking Ctrl +, calling clear command and trying to call the previous command that didn’t work before to see if that changes anything?

I’m quite confident it will solve your problem with Terminal view breaking up.

And I added a logo for kicks cause well why not right but you can see virtualmin support link and KVM Server Link under the buttons love it simple and effective.

Thank you for your kind words!

I haven’t used it in a while but I know Nagios was used at one place I was at to send alerts for different things. Temperature was one. Ultimately a better option than checking it from time to time.

@Ilia A stack of Christmas cookies says no.

Only differences are its A Debian 12 and B its Cloudmin on 127.0.1.1 as I said not familiar with websockets and how it works with loop back or the issues that may or may not arise from this or maybe nothing.

But netty here in this thread had these issues… AnnotatedConnectException: Connection refused: localhost/127.0.1.1:37655 · Issue #10834 · netty/netty · GitHub have similar issues with netty and when I look at the code and I think of how cloudmin works it just seems like we could be looking at a simple group that must be configured to map 127.0.1.1 I mean it isn’t a 100% loss of connection but somehow the data I type doesn’t get passed.

Here is the problem same computer same browser settings same OS etc.

This is what happens on Debian 11 same computer I’m accessing them from I type dir and I get dir

Note its Cloudmin and Debian 12 accessing from the same PC on my network same browser same settings below nothing fancy
I type dir and I get DERRRRRR!

Trust me man there is something amiss I know you can’t reproduce it but I assure you its a legit issue I’ve reproduced it at least 3 times over installing different Deb12 images.

When you “Tried to reproduce it as stated on git hub” Did you actually downloaded the latest Debian 12.2 Net installer image and use default Repo’s Did you install desktop Gnome x11 and SSH & server? Its a curiosity of mine like maybe its the settings I want to use for Debian cause an incompatibility issue but now that I’ve tried Debian 12.2 bookworm 3 different images same settings during install and same everything I know its reproduceable actually whats not possible is to get it to function any other way.

Also I have the fact that I know its not browser based if I can do the same on my virtualmin.

When I look here line29 and I think of how cloudmin works maybe there is a connectivity issue that causes stuff to not work because host on cloudmin is actually 127.0.1.1 IDK I could be wrong just trying to think outside the box a little here seeing as how you can’t reproduce it.

Then again Java and python and path’s and variables are a bit different in Debian12 Cgroup tools and such for instance is quite a bit different from the ole Cgroup bin Python don’t work unless you use python-is-python3. And Java is simply a no go. Also the native PHP is PHP8.2 in Debian 12. vs 7.4 that is in 11 and 10 respectively.

But this is not a non issue that much I can assure you! Or something easily fixable with zooming in or out I could take pics and show you but yeah simple stuff sometimes does get me like all of us in this case the dice are not there. Networking got me actually I had a device connecting on the same IP that’s why I couldn’t get connection to my KVM instance it was strange that it even connected ever from the start. But network conflict got me same IP but when you have 100+ IP’s taken on the network its sometimes easy to forget a thing here or there. But because ti worked initially oddly I guess it wasn’t connected at the time. So that kept me left in a loop of finding an issue that wasn’t there because well it was working lol so a reboot caused it to stop working. Well yeah the device decided to connect upon that reboot so yeah if they are both set static to the same IP well… You get the idea simple problem overlooked.

Hopefully all this data provides further information into the problem it is a connectivity issue that much is obvious as the text input doesn’t show that’s your first clue when I type dir if you look its blank.

It should show dir in that second picture that was typed on the screen. I mean its semi dangerous to use a terminal that you can’t see what you are typing one slip of a key and you could be doing the exact opposite of what you are trying to do.

Hopefully the lightbulb that I have at the moment generates some contact I’m not always great at clearly elaborating things I can be a bit like a cat on catnip when trying to elaborate because I try and consider the many things that I might be leaving out so you’ll get huge walls of text and get discouraged just bare with me here.

I mean by default your hosts file is changed if you look in network configuration right. So it would make sense well kind of obviously everyone 127 is loopback but it appears something is causing an issue and other software is having similar issues. Could be wrong but there is a difference with how virtualmin handles hosts and cloudmin how it handles hosts.

Only other thing I could do is try cloudmin on debian 11 to see if I get the same issue.

Now are you using cloudmin when you are doing your testing or virtualmin??

This is irrelevant, because you obviously already have a websocket connection working just fine.

Note its Cloudmin and Debian 12 accessing from the same PC on my network same browser same settings below nothing fancy.

You’re not accessing Cloudmin, you’re accessing Webmin. Cloudmin is also irrelevant to the problem you’re seeing.

Did you install desktop Gnome x11 and SSH & server? Its a curiosity of mine like maybe its the settings I want to use for Debian cause an incompatibility issue but now that I’ve tried Debian 12.2 bookworm 3 different images same settings during install and same everything

GNOME doesn’t provide fractional scaling feature enabled by default. It has always been experimental. I am using GNOME on my backup desktop system in Fedora with fractional scaling enabled. I know it can cause various sorts of issues.

Also I have the fact that I know its not browser based if I can do the same on my virtualmin.

Have you tried connecting to your “broken” Debian 12 instance from another device? For example Windows or Mac computer or from your phone for example?

Now are you using cloudmin when you are doing your testing or virtualmin??

This is irrelevant! Cloudmin and Virtualmin are just Webmin modules.

Questions:

  1. How does the URL look like when you’re connecting to Terminal, and when it ends up broken?
  2. What happens if you disable fractional scaling in GNOME display settings and use standard 100% scaling?
  3. What happens if you connect to your instance using the other device?

Please be concise!

This is irrelevant, because you obviously already have a websocket connection working just fine.

Ok maybe its irrelevant I’m not sure here I just derived a possible theory based upon a few conditions of how things operate. I looked at my web browser console and see that XTERM is being used and it is trying to connect to the loopback address of 127.0.1.1 because that is how hosts is setup as to where in virtualmin its 127.0.0.1 but surely you’d know best like I said my concept of websockets is skewed as to how it works with hosts and loop back addresses. It was just a theory. I’ll take your lead on this you being the developer would know more for sure. If you say hosts and loopback is irrelevant than it’s that fair enough. It was the web console log below that made me think of how hosts is setup in cloudmin vs virtualmin and how it points. That’s where I derived relevance although its surely debatable. Here is that log.

Maybe this log will help:

Welcome to Authentic Theme 21.09.5
https://github.com/authentic-theme/authentic-theme
xterm/:1 Uncaught (in promise) DOMException: Failed to register a ServiceWorker for scope ('https://svr:10000/') with script ('https://svr:10000/service-worker.js'): An unknown error occurred when fetching the script.
xterm/:1 Unchecked runtime.lastError: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
xterm/:1 Uncaught (in promise) Error: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
app.js:1 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'id')
    at rerunParse (app.js:1:835076)
    at handleBackgroundMessages (app.js:1:776411)
:10000/stats.cgi?xhr-stats=general:1 
        
        
       Failed to load resource: net::ERR_CONNECTION_REFUSED
39app.js:1 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'id')
    at rerunParse (app.js:1:835076)
    at handleBackgroundMessages (app.js:1:776411)
:10000/stats.cgi?xhr-stats=general:1 
        
        
       Failed to load resource: net::ERR_EMPTY_RESPONSE
:10000/index.cgi/?xhr-check=1:1 
        
        
       Failed to load resource: net::ERR_CONNECTION_TIMED_OUT
:10000/index.cgi/?xhr-check=1:1 
        
        
       Failed to load resource: net::ERR_CONNECTION_TIMED_OUT
:10000/index.cgi/?xhr-check=1:1 
        
        
       Failed to load resource: net::ERR_CONNECTION_TIMED_OUT
:10000/index.cgi/?xhr-check=1:1 
        
        
       Failed to load resource: net::ERR_CONNECTION_TIMED_OUT
:10000/index.cgi/?xhr-check=1:1 
        
        
       Failed to load resource: net::ERR_CONNECTION_REFUSED
2app.js:1 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'id')
    at rerunParse (app.js:1:835076)
    at handleBackgroundMessages (app.js:1:776411)
41XHR finished loading: GET "<URL>".
bundle.min.js?219500009999999999:2 XHR failed loading: GET "https://svr:10000/stats.cgi?xhr-stats=general".
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
enable @ VM163:1
set @ bundle.min.js?219500009999999999:178
theme_post_event_window_state_activated @ bundle.min.js?219500009999999999:178
(anonymous) @ bundle.min.js?219500009999999999:178
bundle.min.js?219500009999999999:2 XHR failed loading: GET "https://svr:10000/stats.cgi?xhr-stats=general".
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1
setTimeout (async)
success @ VM163:1
c @ bundle.min.js?219500009999999999:2
fireWith @ bundle.min.js?219500009999999999:2
S @ bundle.min.js?219500009999999999:2
(anonymous) @ bundle.min.js?219500009999999999:2
load (async)
send @ bundle.min.js?219500009999999999:2
ajax @ bundle.min.js?219500009999999999:2
(anonymous) @ VM163:1
query @ VM163:1
render @ VM163:1
(anonymous) @ VM163:1

Also relevant maybe:

A form field element should have an id or name attribute
A form field element has neither an id nor a name attribute. This might prevent the browser from correctly autofilling the form.

Element references to this error are: TEXT
<input type="text" data-command="true" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" style="">
full X path is:
/html/body/div[5]/div/div[3]/input
js path is:
document.querySelector("body > div.-shell-port- > div > div.-shell-port-cmd.hidden > input[type=text]")

Also error same error here:
<textarea class="xterm-helper-textarea" aria-label="Terminal input" aria-multiline="false" autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="left: 99.6px; top: 0px; width: 8.3px; height: 16.6667px; line-height: 16.6667px; z-index: -5;"></textarea>

full x path:
/html/body/div[4]/div/div/div[2]/div/div/div[2]/div[1]/textarea

js path:
document.querySelector("#terminal > div > div.xterm-screen > div.xterm-helpers > textarea")

To fix this issue, add a unique id or name attribute to a form field. This is not strictly needed, but still recommended even if you have an autocomplete attribute on the same element.


Have you tried connecting to your “broken” Debian 12 instance from another device? For example Windows or Mac computer or from your phone for example?

I’m not sure I understand the nature of the question I’ve answered this question. If I told you that I’ve tested several browsers from different OS’s how am I supposed to interpret this? Yes when I say I know for a fact it’s not browser base I mean it. It isn’t plugins either we’ve already hashed over this. If it were browser based it wouldn’t work on debian 11 and not on debian 12 using the same browser from another windows PC on my network or another linux machine on my network.

Fair point to check the simple stuff on repeat often over looked but I believe I’ve iterated concisely here and elsewhere on github it is not the problem maybe not short and concise but concise.

But how am I supposed to take it when the same suggestions are being made that I’ve said I tested?

Think about it.

  1. How does the URL look like when you’re connecting to Terminal, and when it ends up broken?

The url does not change it stays at https://svr:10000/xterm/?xnavigation=1

  1. What happens if you disable fractional scaling in GNOME display settings and use standard 100% scaling?

  2. What happens if you connect to your instance using the other device?
    Both of those pictures taken were from a windows PC this time around even so I could share images from a different machine to be honest. To answer both 2 and 3.

“Please be concise! ?”"

? Pulling the trigger a bit here? Confusion of having to answer questions 3 times over would indicate I’m not being concise I suppose but, I somehow doubt this otherwise there would be clearer lines of questioning isn’t it like if you didn’t understand something I can try to elaborate within reason. Never short but always concise I don’t dig lack of detail or not being concise so I try to drill down with the intent of firewalling these types of assumptions. I do take into account you might have to answer 2 or 3 other questions from people in a day as well along with programming so mistakes are made maybe comments are forgotten.

I hope this covers the basses. And maybe we can make some progress any questions or things I need to elaborate on just let me know bud I’m not here to hurt I’m here to help if I can. Thank you again for your effort and your time.

This process may require a significant amount of time, and without concrete evidence, I cannot confirm that we are addressing an actual bug, and not a local issue.

Could you please provide me the way to witness the issue firsthand, i.e. in my browser?

Errr here is a better screenshot so you know I am on the same machine.

Did a simple directory listing command.

Note you can also tell now that it is a windows machine and it is from the time I’ve made my post.

Tell you what it is a bit difficult without some type of chat to give you information to login you can either trust me and add me to telegram or trust me that the issue is an issue I believe I’ve tried to find a way to get you information to login to the system but no one is willing to share a direct private means of communication there is an anti chat stance well with the exception of you I did thumbs up your last post in TG channel on the latest release I mean you can try and find my on TG send me a message and then I can provide you with login info.

It is now 4:45 PM where I live I believe you are a world away which does complicate things. As far as playing tag what is your hours of operation I haven’t been quite able to discern your hours or days etc My Timezone is US Central time. So keep this in mind when responding I really don’t know your’s but if I had to guess you are likely Norwegian by the looks of yah if that’s your real picture could be dead wrong though my woman is full blood Norwegian and I see some striking similarities in certain features with her family in comparison so likely in the nordic region I’d assume. Again this is just best guess for all I know I’m dead wrong! Which would put you at 11:45PM.

Can you please also show the screenshot for Terminal module config (the cog button on the top left of the module)?

Ok here it goes I still have WebGL Turned off as you suggested, I did try all the different terminal modes as well. I do notice both terminals use 555 however I want to say it changes port if it has to if I recall looking at the code.

If you need any other data just shoot I’ll get it for you it may take time but slow and steady is how all great things are done.

I wonder now, why the screenshot on the right looks so blackish?

Ultimately, I think there is something wrong with your either network connection or DNS.

What if you try to add to your /etc/hosts file the record for your remote system, like:

IP: my-server

or try to access your system directly using IP address? Does it change anything?

Great idea @forlotto. But still, you have to check to see what the temps are. I wrote a bash script that I configured to run as a service to check the CPU temp every minute. If the temp crosses (in either direction) a ‘hot’ or ‘critical’ threshold provided as input to the script for more that 5 consecutive minutes, the script sends me an email to alert me that the system has crossed the threshold. That way I don’t have to monitor the machines. I install it on hosts that don’t have active cooling fans. It gives me peace of mind. It also logs min and max temperature seen within each hour to a /tmp file so I can check to see if there are patterns that I need to be aware of. I suppose you could adapt such a script to work in concert with Webmin’s System and Service Status monitor feature to have Webmin send email and SMS notifications when the service detects issues.

Blackish don’t know but I have tried multiple browsers with plugins without plugins different OS.
Best way I can describe it it seems like my terminal is in permanent password mode I can type stuff it doesn’t show and you can’t highlight and copy the text either. If this makes sense if you are aware when it asks you for your password on a terminal this is how it functions.

I did try changing my IP didn’t seem to make a difference even rebooted the machine to be sure just for reference in case your wondering my 2nd NIC is also disabled because I wanted to make sure this is not causing an issue as well.

So I guess that rules out websocket issue well maybe not totally there is some on connectivity issues that randomly happen switching back and forth at times between terminal and settings so I’m not certain what that is. Maybe dependency related.

I will note I did get an error in cloudmin switching between servers in the panel as follows:

HTTP/1.0 500 Perl execution failed Server: MiniServ/2.105 Date: Tue, 12 Dec 2023 21:43:06 GMT Content-type: text/html; Charset=utf-8 Connection: close
ERROR — PERL EXECUTION FAILED
Undefined subroutine &server_manager::type_this_supports_console_login called at /usr/share/webmin/server-manager/login.cgi line 22.

Dunno if its related but figured I’d share just in case you can clean some insight from the error.
When you tested it you used Debian 12 right when you claimed you tested it and you couldn’t reproduce the issue? Could you share your Debian 12 iso as a KVM image it would be nice to have a Debian 12 image on the list of virtualmin images anyways as that’s what I will need to use for my virtualmin instance to allow PHP 8.x native which is what Wordpress is barking at me about anyways. So I don’t know who handles images if it is @Joe @Jamie or @Eric that data is not available to me but maybe if they can get a KVM Debian 12 image up and running I could install Virtualmin to it and see if it is just an issue with cloudmin or if its a Debian 12 problem maybe by firing up a KVM with Debian 12 and Virtualmin and just simply attempting to use the terminal?

Checked DNS it is correct it is set as the gateway for my bridge.

Everything seems as if its set correctly when I click on the IP it lists the correct DNS address for both the KVM adapter and for the Main Cloudmin server itself.

I believe there is native support for this to some degree as far as I know it just has to be upgraded to work maybe.

Although I surely don’t disagree on the approach I’d love to see what you can do and make possible for sure this project needs all the help and support it could get these guys are doing a fantastic job any help from the community would be welcomed thank you chucko!

Interesting I am experiencing this issue could we have a similar problem out of curiosity.

I mean the symptoms are the same so I’d venture to say not a bad direction to look potentially?

A simple reset command gets it working but it needs fixing the problem is likely what I showed you it has to do with identifier from the web browser log I posted.

Execute the command reset and your terminal should be restored (reference).

This issue happens generally when dumping binary data to the terminal STDOUT which when the escape codes received are processed can do anything from change the color of the text, disable echo, even change character set.

The easy way to avoid this is to ensure you do not dump unknown binary data to the terminal, and if you must then convert it to hexadecimal to ensure it doesn't change the terminal settings.

executing reset -c will only reset the control characters responsible for your problem:

tset, reset - terminal initialization

Usage: tset [options] [terminal]

Options:
  -c          set control characters
  -e ch       erase character
  -I          no initialization strings
  -i ch       interrupt character
  -k ch       kill character
  -m mapping  map identifier to type
  -Q          do not output control key settings
  -r          display term on stderr
  -s          output TERM set command
  -V          print curses-version
  -w          set window-size
Also note the following form the command's manual:

Note, you may have to type

<LF>reset<LF>
(the line-feed character is normally control-J) to get the terminal to work, as carriage-return may no longer work in the abnormal state. Also, the terminal will often not echo the command.

That was the important info in the post I posted.

Now taking this into mind it could be that an identifier must be mapped to type maybe? Judging by the weblog I gave you it was yelling about not having an identifier.

So how do we fix this properly so I don’t have to type reset and maybe I can even get the 256color working on it somehow??

After typing reset everything looks like so but only until I load it up again then its back to the same thing.

NOTE: Reset must be typed every time you open the terminal. And color does not work but for all intents and purposes it is semi-functional but in need of your diagnostics from this point on the direction to permanently correct the issue.

Thought I had it working cause after doing a reset then clicking on the cog and entering manual domain for the terminal then I got a websocket error when trying to connect to my domain so I set it back to automatic and the 256color look came up.

But now it is still acting up I have the same issue but it at least is in the right mode.

I still have to type reset everytime I use it though.

Bit of a brain scratcher. Damn so close yet so far!

But 256 color mode is coming up every time I open the terminal.

As you can see unless I type reset the text is scrambled all over the map still!

Any suggestions on how to stop from having to type reset every time I use the terminal?

EDIT:
What the heck I played with encoding settings and now I lost color and can’t get it back so strange.

Yeah there has to be something else going on here I mean in theory if I type the domain of svr the same domain I operate as it should work … like I say this thing is a brain scratcher but without a doubt after seeing all this oddness there is surely an issue and I don’t think its specific to me I think it is 100% reproduceable I don’t believe reporduction was tried to be honest I can reproduce it simply reinstalling a fresh install with server SSH and Gnome desktop running x11 with each fresh install of cloudmin on 3 different images the same thing happens its 100% repeatable for me. But maybe its a websockets issue or the identifier as I pointed out I can not tell.

It acts way to irrational when changing settings you have to do things in a special sequence just to get color back???

So yeah something isn’t straight maybe its the way tty is passed to the kernel or lord knows what it could be ?

Any thoughts what can be done to fix this?

What? Has nothing to do with the post?