[pve-devel] [PATCH proxmox-datacenter-manager 4/4] ui: pve: node: add shell tab

Fabian Grünbichler f.gruenbichler at proxmox.com
Wed Nov 5 15:13:13 CET 2025


Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
---

Notes:
    could also spawn a new window instead, which might be more ergonomic ;)

 ui/src/pve/node/mod.rs | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/ui/src/pve/node/mod.rs b/ui/src/pve/node/mod.rs
index d89bcde..6e8f2d8 100644
--- a/ui/src/pve/node/mod.rs
+++ b/ui/src/pve/node/mod.rs
@@ -1,7 +1,7 @@
 use std::rc::Rc;
 
 use gloo_utils::window;
-use proxmox_yew_comp::AptPackageManager;
+use proxmox_yew_comp::{AptPackageManager, ConsoleType, XTermJs};
 use yew::{
     virtual_dom::{VComp, VNode},
     Context,
@@ -113,6 +113,23 @@ impl yew::Component for NodePanelComp {
                     }
                 },
             )
+            .with_item_builder(
+                TabBarItem::new()
+                    .key("shell_view")
+                    .label(tr!("Shell"))
+                    .icon_class("fa fa-terminal"),
+                {
+                    let remote = props.remote.clone();
+                    let node = props.node.clone();
+                    move |_| {
+                        let mut xtermjs = XTermJs::new();
+                        xtermjs.set_remote_name(Some(remote.clone()));
+                        xtermjs.set_node_name(node.clone());
+                        xtermjs.set_console_type(ConsoleType::RemotePveLoginShell);
+                        xtermjs.into()
+                    }
+                },
+            )
             .into()
     }
 }
-- 
2.47.3





More information about the pve-devel mailing list