Làm thế nào tôi có thể buộc các thiết bị đầu cuối phải có kích thước tối thiểu?


8

Tôi muốn ngăn bất kỳ thiết bị đầu cuối Terminator nào của tôi nhỏ hơn 80x24. Đó là, tôi đã bị ngăn không cho thay đổi kích thước thiết bị đầu cuối xuống dưới kích thước đó và nếu tôi cố tách một thiết bị đầu cuối quá nhỏ, thiết bị đầu cuối hiện tại sẽ bị thu hẹp để phù hợp hoặc thiết bị đầu cuối cha mẹ và con sẽ được chuyển đến một cửa sổ mới.

Tôi sẵn sàng thay đổi các chương trình thiết bị đầu cuối nếu cần, mặc dù giải pháp ốp lát tốt như Terminator là thích hợp hơn.

Câu trả lời:


4

Để thực hiện những gì bạn muốn, bạn sẽ phải tự chỉnh sửa mã nguồn gnome-terminalvà tự xây dựng lại, vì kích thước cửa sổ tối thiểu được mã hóa cứng vào ứng dụng đầu cuối. Để làm điều này, hãy làm theo các bước sau.

Trước tiên, hãy truy cập https://launchpad.net/ubfox/+source/gnome-terminal/3.6.1-0ubfox4 và tải xuống các tệp nguồn (tệp là gnome-terminal_3.6.1.orig.tar.xz). Tải cái này vào ~/Downloadsthư mục của bạn .

Sau đó, mở một thiết bị đầu cuối và gõ các lệnh sau:

cd ~/Downloads

tar -xJf gnome-terminal_3.6.1.orig.tar.xz

Điều này sẽ trích xuất nguồn. Bây giờ, mở trình soạn thảo văn bản yêu thích của bạn và chỉnh sửa tệp ~/Downloads/gnome-terminal-3.6.1/src/terminal-window.c. Điều hướng đến dòng 3107, nơi bạn sẽ tìm thấy các biến MIN_WIDTH_CHARSMIN_HEIGHT_CHARS. Chỉnh sửa các giá trị này, đây là chiều cao và chiều rộng tối thiểu của cửa sổ đầu cuối được thể hiện bằng các ký tự (tức là MIN_WIDTH_CHARS20 sẽ có nghĩa là bạn không còn có thể thay đổi kích thước chiều rộng của cửa sổ thành độ rộng dưới 20 ký tự)

Sau đó, để xây dựng, trong một loại thiết bị đầu cuối cd ~/Downloads/gnome-terminal-3.6.1. Sau đó, chạy ./configuređể tạo tệp tạo tệp (nếu nó phàn nàn về bất kỳ gói bị thiếu nào, hãy cài đặt chúng bằng cách sử dụng apt-get(ví dụ: nếu nó nói "góifoo không tìm thấy" hoặc tương tự, hãy sử dụng sudo apt-get install foo). Bạn cũng có thể thử cài đặt auto-aptvà sử dụng sudo auto-apt run ./configure(điều này sẽ cố gắng cài đặt tất cả các phụ thuộc ), nhưng khi tôi thử điều này, nó không hoàn toàn bắt được mọi thứ (chạy tiêu chuẩn ./configuresau đó) Việc này có thể mất một vài lần, tùy thuộc vào số lượng gói bị thiếu.

Một khi nó đã tạo ra các tệp Makefiles chỉ cần gõ make, theo sau sudo make install. Điều này sẽ xây dựng lại chương trình thiết bị đầu cuối. Đóng tất cả các cửa sổ đầu cuối, và sau đó cửa sổ tiếp theo bạn bắt đầu sẽ tôn trọng kích thước tối thiểu bạn đặt trong nguồn (nghĩa là sẽ không thay đổi kích thước bên dưới các giá trị bạn đã xác định ở đó).


Một phương pháp thậm chí hoàn chỉnh hơn sẽ là thực hiện chính xác như bạn đã nêu, nhưng đi thêm bước người dùng tạo PPA của riêng họ để tạo một .deb mà họ có thể duy trì và / hoặc khóa để không gây ra sự cố khi nâng cấp phần còn lại của hệ thống. Theo cách này, trình quản lý gói vẫn đang quản lý các gói, nhưng người dùng vẫn duy trì quyền kiểm soát chỉ một trong PPA của họ mà không ảnh hưởng đến chức năng dự định của trình quản lý gói. Đề cập đến càng nhiều (tôi nghĩ) sẽ củng cố bạn như câu trả lời "đi đến".
darthlukan

@darthlukan Điểm thú vị. Tôi đã không thực sự nghĩ về điều này (có lẽ tôi nên có trước khi tự mình kiểm tra nó) và thực tế tôi không chắc người ta sẽ làm thế nào / áp dụng bất kỳ cập nhật gói nào trong khi vẫn giữ nguyên các thay đổi của họ ... Tôi cũng vậy chỉ cần lưu ý rằng câu hỏi đề cập cụ thể đến Terminator trong khi giải pháp này dành cho thiết bị đầu cuối gnome, vì vậy ...
Jez W

Bất kể đó là gnome-terminal hay Terminator (thực ra, Terminator hiển thị nhiều gnome-terminal và gnome-terminal là một phụ thuộc của terminator), giải pháp của bạn vẫn đúng. Người dùng có thể làm nhiều điều tương tự trong Terminator, họ sẽ chỉ cần chú ý đến các tên biến có thể khác nhau và tên tệp khác nhau, nhưng các bước đều giống nhau (nội dung chính). Khi bạn tạo gói .deb tùy chỉnh và đính kèm PPA của bạn vào Apt, gói của bạn sẽ ghi đè miễn là bạn khóa phiên bản.
darthlukan

4
  1. Nhấn phím siêu để mở ống kính tìm kiếm và tìm: menu chính
  2. Khi ứng dụng " Menu chính " đang chạy, chọn " Phụ kiện " ở menu bên trái và sau đó chọn " Terminal " trên menu thứ hai.
  3. Khi bạn đã chọn tùy chọn " Terminal ", nhấn nút " Thuộc tính " ở bên phải. Một cửa sổ mới sẽ mở ra với các thuộc tính Trình khởi chạy đầu cuối.
  4. Đi đến mục " Lệnh " và thêm mục này vào cuối mục:

    --geometry=132x24
    

    Mục hoàn thành phải là:

    gnome-terminal --geometry=132x24
    

Đó là nó. Đóng các cửa sổ và lần tới khi bạn khởi động thiết bị đầu cuối, cửa sổ sẽ được thay đổi kích thước. Bạn có thể phải đăng xuất và đăng nhập lại để hoạt động đúng.

(132x24 chỉ là một ví dụ, bạn có thể sử dụng bất kỳ độ phân giải nào bạn muốn)


2
Điều này chỉ ảnh hưởng đến hình học bắt đầu, nó không ngăn thiết bị đầu cuối bị thay đổi kích thước dưới kích thước đã cho.
Nicholas

2

Theo tôi biết, bạn không thể, độ phân giải của cửa sổ Terminal dựa trên tỷ lệ của các ký tự ... Vì vậy, nếu bạn thay đổi kích thước của phông chữ, cửa sổ Terminal sẽ thay đổi kích thước để phù hợp với tỷ lệ của phông chữ đó ...

Thoạt nghe có vẻ hơi ngớ ngẩn, nhưng cho rằng một thiết bị đầu cuối chỉ hiển thị các ký tự văn bản, điều đó có nghĩa, nếu một cửa sổ có kích thước pixel, bạn sẽ thường bị lãng phí không gian khi kích thước của cửa sổ không chính xác phù hợp với ranh giới nhân vật ...


nó hoàn toàn tồi tệ hơn sau đó ngu ngốc và không nghĩ tại sao lập trình viên lại làm điều đó. người phá hủy đầu lâu
Carni

1

Nếu bạn đang ở phiên bản cũ hơn của Ubuntu, trong cửa sổ nhấp chuột phải -> thuộc tính, tab đầu tiên có hai trường trong đó bạn có thể chỉnh sửa các hàng và cột của thiết bị đầu cuối.

Mặt khác, bạn có thể sử dụng đầu vào lệnh được đề cập trong câu trả lời một.

--geometry=132x24

Điều này cũng chỉ ảnh hưởng đến hình học ban đầu.
Nicholas

1

Thủ thuật nhỏ về kích thước mặc định là chủ đề ở đây . Ở đó, người dùng đã giải quyết nó bằng cách tạo một tập lệnh và đặt nó vào / usr / bin / gnome-terminal như thế này (tôi giả sử bạn sử dụng gnome làm trình quản lý cửa sổ):

#!/bin/sh
gnome-terminal --geometry=132x24

Bạn cũng có thể nhấp chuột phải vào biểu tượng gnome-terminal trên thanh tác vụ của mình, chọn thuộc tính, sau đó thay đổi lệnh thành các lệnh khác nhau như:

gnome-terminal --working-directory=%f --geometry=132x24

Bằng cách này, bạn có kích thước mặc định do bạn xác định.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.