[pdm-devel] [PATCH proxmox-datacenter-manager 9/9] ui: add PBS remote shell button

Fabian Grünbichler f.gruenbichler at proxmox.com
Tue Nov 11 09:29:32 CET 2025


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

Notes:
    new in v1, PVE could also use this if desired

 ui/src/pbs/mod.rs | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/ui/src/pbs/mod.rs b/ui/src/pbs/mod.rs
index d57e12b..f36128c 100644
--- a/ui/src/pbs/mod.rs
+++ b/ui/src/pbs/mod.rs
@@ -8,7 +8,9 @@ use pwt::props::ExtractPrimaryKey;
 use yew::virtual_dom::{VComp, VNode};
 use yew::{Html, Properties};
 
-use proxmox_yew_comp::{LoadableComponent, LoadableComponentContext, LoadableComponentMaster};
+use proxmox_yew_comp::{
+    ConsoleType, LoadableComponent, LoadableComponentContext, LoadableComponentMaster, XTermJs,
+};
 use pwt::css::{AlignItems, FlexFit};
 use pwt::prelude::*;
 use pwt::state::NavigationContainer;
@@ -149,6 +151,20 @@ impl LoadableComponent for PbsRemoteComp {
                                         }
                                     }),
                             )
+                            .with_tool(
+                                Button::new(tr!("Open Shell"))
+                                    .icon_class("fa fa-terminal")
+                                    .on_activate({
+                                        let remote = ctx.props().remote.clone();
+                                        move |_| {
+                                            XTermJs::open_xterm_js_viewer(
+                                                ConsoleType::RemotePbsLoginShell(remote.clone()),
+                                                "localhost",
+                                                false,
+                                            )
+                                        }
+                                    }),
+                            )
                             .with_child(Column::new().padding(4).class(FlexFit).with_child(
                                 PbsTree::new(
                                     props.remote.clone(),
-- 
2.47.3





More information about the pdm-devel mailing list