Cảm ơn câu trả lời hay của @ Yuri, nó hoạt động! Sau khi thử thêm một số lỗi & Tôi đã tìm thấy cách khắc phục sự cố viền màu trắng. Bạn sẽ cần phải xây dựng lại từ mã nguồn Emacs v24.5 (tôi đã thử một số phiên bản v25 trong kho git nhưng tất cả đều thất bại, nếu bạn đang sử dụng kho git, thẻ thanh toán "emacs-24.5-rc3"). Trong giai đoạn cấu hình, bạn sẽ cần phải chọn bộ công cụ x "rõ ràng" (hoặc "athena", cùng một thứ) thay vì "gtk3" hiện tại. Lưu ý rằng "motif" có cùng vấn đề.
Trước tiên, tải xuống mã nguồn Emacs và cài đặt gói "libxaw7-dev". "Libncurses5-dev" chỉ trong trường hợp bạn không có nó. Giả sử chúng tôi làm mọi thứ trong thư mục ~/build-emacs24:
mkdir ~/build-emacs24
cd ~/build-emacs24
wget https://ftp.gnu.org/gnu/emacs/emacs-24.5.tar.xz
sudo apt-get install libxaw7-dev libncurses5-dev
tar xvf emacs-24.5.tar.xz
Bây giờ chúng tôi có thư mục "emacs-24.5" được trích xuất. Để ngăn chặn các vấn đề D-BUS báo cáo ở những nơi khác chúng ta hãy cấu hình mà không có nó, và cài đặt nó trong/usr/local/bin (theo mặc định):
cd emacs-24.5
./configure --without-dbus --without-gconf --without-gsettings --with-x-toolkit=athena
Bây giờ, chúng tôi gần như đã sẵn sàng để xây dựng Emacs. Nhưng trước đó, chúng ta cần phải tinh chỉnh hạt nhân một chút hoặc xây dựng sẽ sớm thất bại. (Hãy bỏ qua các chi tiết, nếu bạn quan tâm, nó được giải thích trong "etc/PROBLEMS" trong mã nguồn emacs của bạn.) Bạn chỉ cần điều này trong giai đoạn xây dựng. Một khi các emacs mới của bạn được cài đặt, bạn không cần phải làm điều này một lần nữa.
sudo sh -c "echo 0 > /proc/sys/kernel/randomize_va_space"
Bây giờ chúng ta hãy đi vào quá trình xây dựng dài, bạn có thể trải nghiệm một sự suy giảm hệ thống tổng thể trong việc xây dựng, bạn có thể giảm số lượng các chủ đề được sử dụng trong xây dựng (ở đây tôi sử dụng "4" cho 2 lõi 4 - CPU Intel, không sử dụng số lớn hơn chủ đề được hỗ trợ (cat/proc/cpuinfo) hoặc nó sẽ trở nên chậm hơn.)
time nice make -j 4
Chỉ mất vài phút? Hơn đến, bây giờ cài đặt nó (nhớ "sudo" ở đây):
sudo make install
Toàn bộ xây dựng và cài đặt chỉ mất chưa đến 10 phút trên máy tính của tôi, không phải là quá xấu. Bây giờ chúng ta có một Emacs làm việc 24.5 đặt tại "/ usr/local/bin/emacs". Nếu bạn có mọi thứ được thiết lập như câu trả lời của @ Yuri, bạn sẽ có thể khởi chạy nó ngay bây giờ:
/usr/local/bin/emacs &
Bây giờ bạn có thể tối đa hóa và làm những gì bạn muốn. Đây là một ảnh chụp màn hình, nhận thấy góc trên bên phải, nó được phóng to:
Đừng lo lắng về màu sắc, đó là lựa chọn chủ đề của riêng tôi.
Vẫn còn một vấn đề nữa. Hãy một lần nữa giải quyết nó. Đôi khi bạn đã chọn một mục trình đơn và các cuộc tấn công "viền trắng" một lần nữa!
Giờ đây nhỏ hơn nhưng vẫn gây phiền nhiễu.
May mắn thay lần này chúng ta có thể để nó biến mất. Phóng to/khôi phục cửa sổ và nó sẽ biến mất. Sau một vài vòng đôi khi nó lại xảy ra lần nữa, nhưng không phải lúc nào cũng vậy. Điều này vẫn còn gây phiền nhiễu. Kể từ khi thay đổi kích thước cửa sổ có thể khắc phục vấn đề này, tại sao chúng ta không làm cho nó tự động? Có lẽ một cách giải quyết không quá tệ?
Bây giờ sửa "~/emacs" tập tin của bạn và thêm đoạn mã sau (: sử dụng Emacs mới của bạn, tất nhiên;):
(defvar fix-frame-white-border-last-check 0)
(defun current-sec()
(let ((currtime (current-time)))
(logior (lsh (car currtime) 16) (cadr currtime))))
(defun fix-frame-white-border-uow (&optional frame)
(when (> (- (current-sec) fix-frame-white-border-last-check) 2)
(setf frame (or frame (selected-frame)))
(let ((width (frame-width frame))
(height (frame-height frame)))
(set-frame-size frame (1- width) height)
(set-frame-size frame width height))
(setq fix-frame-white-border-last-check (current-sec))))
(advice-add 'menu-bar-open :after #'fix-frame-white-border-uow)
(add-hook 'menu-bar-update-hook #'fix-frame-white-border-uow)
Mã này không phải là hoàn hảo, nhưng nó hoạt động. Nó sẽ thay đổi kích thước khung hình của bạn một chút và khôi phục lại ngay khi bạn sử dụng menu. Nó cũng ngăn cản việc thay đổi kích thước thường xuyên.
Theo như tôi hiểu, Windows Bash không hỗ trợ X Server. Tuy nhiên, tôi là sự kết hợp của Windows Bash + hoặc [XMing] (https://channel9.msdn.com/Blogs/WinCoder/XMING--Bash-on-Ubuntu-on-Windows--X11-Window-System-Running- từ-Windows10-Subsystem-for-Linux) hoặc MobaXTerm có thể hoạt động cho bạn. –
vcXsrv được đánh giá cao so với phiên bản Xming miễn phí. Tôi không chắc chắn nếu phiên bản đóng góp của Xming phù hợp với nó trong khả năng tương thích, nhưng Xming miễn phí là rất cũ và ngày. –