Slow startup on WSL with default config

Đang mở
#4,209 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 3 ngày

Chưa có ai nhận issue này.

  • #4215 của @frankischilling — đã đóng, không merge

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
55/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
go
Lĩnh vực
cli, performance

Hướng nghiên cứu

Bắt đầu tại cmd/micro/micro.go, khoảng dòng 386, và kiểm tra việc khởi tạo clipboard đồng bộ được mô tả trong issue. Sau đó xem lại mục “WSL and Windows Console” trong README và cấu hình "clipboard": "terminal" hiện có. Maintainers nên xác định thế nào là hoàn tất: ghi lại workaround OSC 52, xử lý độ trễ khi khởi động, hoặc làm rõ phạm vi dự kiến và xác minh hành vi khởi động của WSL.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug dependencies
Description

Launching micro in WSL takes ~1 second for me before the main UI appears.

I checked out master and manually added timing points. All the time is spent here: https://github.com/micro-editor/micro/blob/393cf24858e63ba75af1480b618d2e3add5b9e3e/cmd/micro/micro.go#L386

When I add timing points to break down each clipboard option, I get

2026/09/05 00:24:27 Type init: *clipper.Custom
2026/09/05 00:24:28 Time to init fail:  126.397986ms
2026/09/05 00:24:28 Type init: *clipper.Wayland
2026/09/05 00:24:28 Time to init fail:  126.933187ms
2026/09/05 00:24:28 Type init: *clipper.Xclip
2026/09/05 00:24:28 Time to init fail:  126.090087ms
2026/09/05 00:24:28 Type init: *clipper.Xsel
2026/09/05 00:24:28 Time to init fail:  124.130887ms
2026/09/05 00:24:28 Type init: *clipper.Wsl
2026/09/05 00:24:28 Time to init succeed:  381.408161ms

My understanding is that resolving non-existent commands is slow in WSL because it needs to check all the Windows paths. The ~120ms matches what I get when executing time which noexist.

I have 43 Windows entries in my PATH which might be higher than average? because I install a lot of tools through winget and each one gets its own path entry when installed that way.

I tested manually creating a micro-clip script and adding it to my first path entry (Linux folder) so micro doesn't need to try every other clip option in the list and with that, micro starts up instantly. Only later did I realize micro allows setting "clipboard": "terminal" in the config to use OSC 52 which will bypass all of this logic and works perfectly in Windows Terminal.

I think others might run into this issue as well and it might be beneficial to:

Environment
  • Version: 2.0.15
  • OS: Arch Linux (via WSL)
  • Terminal: Windows Terminal
Ngôn ngữ chính
Go
Star
29.8k
Fork
1.4k
Merge trung bình
1 ngày 12 giờ
Pull request đã merge (30 ngày)
2

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của micro-editor/micro

Tất cả issue của micro-editor/micro

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.