Как я изменяю размер активного окна к 50% с wmctrl?

Связывание Ethernet требует, чтобы оба конца на поддержке ссылки связали интерфейсы и должны быть частью того же сетевого пространства. Обычно связывание только сделано до компьютера к ближайшему переключателю. Вы не можете связать два различных маршрута с Интернетом. Ваша карта 3G будет иметь адрес от Вашего поставщика услуг сотовой связи и Вашего Wi-Fi от некоторого другого ISP. Вы не имеете никакого контроля над противоположной стороной их и как трафик направляется Вам, таким образом связывание вне рассмотрения.

Можно, конечно, настроить машину для использования интерфейсов в качестве обработки отказа. Обычно NetworkManager заботится об этом вполне прилично по умолчанию. Если Вы умираете, это настраивает маршруты для использования следующего активного соединения.

Вы могли настроить свои маршруты, таким образом, что некоторый трафик использовал один интерфейс и некоторого другого. Например, все к Google перешло один, и все к StackExchange пробежалось через другой. Это - маршрутизация уровня IP, в которой Linux действительно хорош. Вы могли также настроить своего рода сервис прокси-cacheing как squid чтобы сделать циклический алгоритм разрабатывают исходящие соединения. Это немного более хитро, и для отдельного пользователя среда, вероятно, привела бы к чистому убытку общей применимой скорости.

Наконец это могло бы помочь Вам хорошо использовать свои две строки, если бы Вы понимаете что-то о теории позади связывания и почему это не работало бы на две строки совсем других скоростей. Если у Вас есть два различных пакета трафика, и Вы просто хотите распространить их через несколько ресурсов, это - одна вещь. Но когда Вы начинаете говорить о связывании, Вы говорите приблизительно две параллельных строки, что все объясняет разделение. Если бы одна из этих строк была медленной (или в случае CDMA, скрытой), и каждый был быстр, то дисбаланс мог потенциально замедлить вещи так, как он ускорит их. Для любых операций, для которых были нужны последовательные данные, одно соединение закончит тем, что ожидало данных, входящих в медленной сети. Даже если бы загрузка поставилась более быстрый провод, если бы запрос DNS был отправлен по скрытой сети, то это взяло бы это намного дольше для начала работы. Эффект действительно не является суммой этих двух сетей, только суммой самого медленного сегмента приблизительно плюс так много эквивалента от более быстрого. Если бы два канала связи достигли 5 единиц и 1 единицы, то связь могла бы эффективно дать Вам 2 единицы. Или 3, если это было действительно умно. Но тот ум должен прибыть из куда-нибудь, и "Интернет" не делает этого для Вас, некоторая единственная точка в восходящем направлении (обычно переключатель выше Вашего компьютера) должна иметь ум для разделения трафика Вам и трафика слияния от Вас.

* Примечание, что эта математика не работает то же, когда у Вас есть реальная связанная сеть. 1 000 и 100 интерфейсов могут быть связаны для получения 1100, но это только при выполнении на пакетном уровне и задержки сопоставимы. Когда использование плохого человека взломало решения развернуть интернет-пропускную способность, другие факторы съедают усиление довольно быстро.

7
19.02.2018, 04:19
2 ответа

Я получил ответ здесь.

это было бы сценарием для максимизации его на правильную половину экрана:

#!/bin/bash
# resizes the window to full height and 50% width and moves into upper right corner

#define the height in px of the top system-bar:
TOPMARGIN=27

#sum in px of all horizontal borders:
RIGHTMARGIN=10

# get width of screen and height of screen
SCREEN_WIDTH=$(xwininfo -root | awk '$1=="Width:" {print $2}')
SCREEN_HEIGHT=$(xwininfo -root | awk '$1=="Height:" {print $2}')

# new width and height
W=$(( $SCREEN_WIDTH / 2 - $RIGHTMARGIN ))
H=$(( $SCREEN_HEIGHT - 2 * $TOPMARGIN ))

# X, change to move left or right:

# moving to the right half of the screen:
X=$(( $SCREEN_WIDTH / 2 ))
# moving to the left:
#X=0; 

Y=$TOPMARGIN

wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,$X,$Y,$W,$H

Для перемещения налево просто измените X-строку на X=0. (При использовании Единицы Ubuntu необходимо адаптировать RIGHTMARGIN также, я использую RIGHTMARGIN=102)

определение правые поля, это решает ошибку, что во второй раз Вы называете его, это переместилось в очень главный из экрана, игнорируя главную панель инструментов.

6
27.01.2020, 20:18

можно использовать xrandr, чтобы получить (или установить) разрешение экрана и затем использовать wmctrl для изменения размеров окна.

1
27.01.2020, 20:18

Теги

Похожие вопросы