Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitfd84df7

Browse files
fix: addDISPLAY env var for X11 connections (#7248)
* fix: add `DISPLAY` env var for X11 connections* Update agent/agentssh/agentssh.goCo-authored-by: Mathias Fredriksson <mafredri@gmail.com>---------Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
1 parentf9da263 commitfd84df7

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

‎agent/agentssh/agentssh.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,13 +172,15 @@ func (s *Server) sessionHandler(session ssh.Session) {
172172

173173
ctx:=session.Context()
174174

175+
extraEnv:=make([]string,0)
175176
x11,hasX11:=session.X11()
176177
ifhasX11 {
177178
handled:=s.x11Handler(session.Context(),x11)
178179
if!handled {
179180
_=session.Exit(1)
180181
return
181182
}
183+
extraEnv=append(extraEnv,fmt.Sprintf("DISPLAY=:%d.0",x11.ScreenNumber))
182184
}
183185

184186
switchss:=session.Subsystem();ss {
@@ -192,7 +194,7 @@ func (s *Server) sessionHandler(session ssh.Session) {
192194
return
193195
}
194196

195-
err:=s.sessionStart(session)
197+
err:=s.sessionStart(session,extraEnv)
196198
varexitError*exec.ExitError
197199
ifxerrors.As(err,&exitError) {
198200
s.logger.Debug(ctx,"ssh session returned",slog.Error(exitError))
@@ -209,9 +211,9 @@ func (s *Server) sessionHandler(session ssh.Session) {
209211
_=session.Exit(0)
210212
}
211213

212-
func (s*Server)sessionStart(session ssh.Session) (retErrerror) {
214+
func (s*Server)sessionStart(session ssh.Session,extraEnv []string) (retErrerror) {
213215
ctx:=session.Context()
214-
env:=session.Environ()
216+
env:=append(session.Environ(),extraEnv...)
215217
varmagicTypestring
216218
forindex,kv:=rangeenv {
217219
if!strings.HasPrefix(kv,MagicSessionTypeEnvironmentVariable) {

‎agent/agentssh/x11.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,14 @@ func (s *Server) x11Handler(ctx ssh.Context, x11 ssh.X11) bool {
5252
s.logger.Warn(ctx,"failed to get server connection")
5353
returnfalse
5454
}
55-
listener,err:=net.Listen("unix",filepath.Join(s.x11SocketDir,fmt.Sprintf("X%d",x11.ScreenNumber)))
55+
// We want to overwrite the socket so that subsequent connections will succeed.
56+
socketPath:=filepath.Join(s.x11SocketDir,fmt.Sprintf("X%d",x11.ScreenNumber))
57+
err:=os.Remove(socketPath)
58+
iferr!=nil&&!errors.Is(err,os.ErrNotExist) {
59+
s.logger.Warn(ctx,"failed to remove existing X11 socket",slog.Error(err))
60+
returnfalse
61+
}
62+
listener,err:=net.Listen("unix",socketPath)
5663
iferr!=nil {
5764
s.logger.Warn(ctx,"failed to listen for X11",slog.Error(err))
5865
returnfalse

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp