Как отключить внутреннюю клавиатуру ноутбука [dубликат]

По сравнению с другими ответами GUI здесь преимущество этого ответа - это родной Ubuntu Bash, который используется без установки сторонних приложений.

Решение на основе Zenity и Bash

Zenity предоставляет хороший интерфейс GUI для терминала для обработки списка и выбора элементов с помощью радиокнопки:

Текущее загруженное вами ядро ​​не может быть удалено и не включено в список. Сообщается, сколько будет сохранено в каталоге /boot. На вашем диске сохраняется больше, потому что двоичные файлы ядра также находятся в других областях. radio-buttons Теперь включены каталоги /usr/src/*kernel_version* и /lib/modules/*kernel_version*.

Измененная дата открыта с помощью команды stat. В моей системе эта дата «трогается» каждый раз, когда ядро ​​загружается с помощью этого сценария ( ) cron reboot. Однако в вашей системе дата будет датой выпуска ядра, а не в последний раз, когда вы ее загрузили.

apt-get purge дает вам шанс прервать

Вам предоставляется окончательная возможность чтобы просмотреть все, что будет очищено, и посмотреть общее количество дискового пространства (несколько вводящее в заблуждение), которое будет восстановлено:

The following packages will be REMOVED:
  linux-headers-4.7.1-040701* linux-headers-4.7.1-040701-generic*
  linux-headers-4.7.2-040702* linux-headers-4.7.2-040702-generic*
  linux-headers-4.7.3-040703* linux-headers-4.7.3-040703-generic*
  linux-headers-4.8.1-040801* linux-headers-4.8.1-040801-generic*
  linux-headers-4.8.10-040810* linux-headers-4.8.10-040810-generic*
  linux-headers-4.8.11-040811* linux-headers-4.8.11-040811-generic*
  linux-headers-4.8.4-040804* linux-headers-4.8.4-040804-generic*
  linux-headers-4.8.5-040805* linux-headers-4.8.5-040805-generic*
  linux-image-4.7.1-040701-generic* linux-image-4.7.2-040702-generic*
  linux-image-4.7.3-040703-generic* linux-image-4.8.1-040801-generic*
  linux-image-4.8.10-040810-generic* linux-image-4.8.11-040811-generic*
  linux-image-4.8.4-040804-generic* linux-image-4.8.5-040805-generic*
0 upgraded, 0 newly installed, 24 to remove and 2 not upgraded.
After this operation, 2,330 MB disk space will be freed.
Do you want to continue? [Y/n] 

Код

Скопируйте этот код в исполняемый файл с именем [ f10] в /usr/local/bin:

#!/bin/bash

# NAME: rm-kernels
# PATH: /usr/local/bin
# DESC: Provide zenity item list of kernels to remove

# DATE: Mar 10, 2017. Modified Jul 28, 2017.

# NOTE: Will not delete current kernel.

#       With 10 kernels on an SSD, empty cache from sudo prompt (#) using:
#       # free && sync && echo 3 > /proc/sys/vm/drop_caches && free
#       First time for `du` 34 seconds.
#       Second time for `du` 1 second.

# PARM: If any parm 1 passed use REAL kernel size, else use estimated size.
#       By default `du` is not used and estimated size is displayed.

# Must be running as sudo
if [[ $(id -u) != 0 ]]; then
    zenity --error --text "root access required. Use: sudo rm-kernels"
    exit 99
fi

OLDIFS="$IFS"
IFS="|"
choices=()

current_version=$(uname -r)

for f in /boot/vmlinuz*
do
    if [[ $f == *"$current_version"* ]]; then continue; fi # skip current version
    [[ $f =~ vmlinuz-(.*) ]]
    v=${BASH_REMATCH[1]}        # example: 4.9.21-040921-generic
    v_main="${v%-*}"            # example: 4.9.21-040921

    # Kernel size in /boot/*4.9.21-040921-generic*
    s=$(du -ch /boot/*-$v* | awk '/total/{print $1}')

    if [[ $# -ne 0 ]] ; then    # Was a parameter passed?
        if [[ -d "/usr/src/linux-headers-"$v_main ]] ; then
             # Kernel headers size in /usr/src/*4.9.21-040921*
             s2=$(du -ch --max-depth=1 /usr/src/*-$v_main* | awk '/total/{print $1}')
        else
             s2="0M"            # Linux Headers are not installed
        fi
        # Kernel image size in /lib/modules/4.9.21-040921-generic*
        s3=$(du -ch --max-depth=1 /lib/modules/$v* | awk '/total/{print $1}')
    else
        # Estimate sizof of optional headers at 125MB and size of image at 220MB
        if [[ -d "/usr/src/linux-headers-"$v_main ]] ; then
             s2="125M"
        else
             s2="0M"            # Linux Headers are not installed
        fi
        s3="220M"
    fi

    # Strip out "M" provided by human readable option of du and add 3 sizes together
    s=$(( ${s//[^0-9]*} + ${s2//[^0-9]*} + ${s3//[^0-9]*} ))
    t=$(( t + s ))
    s=$s" MB"
    d=$(date --date $(stat -c %y $f) '+%b %d %Y') # Last modified date for display
    choices=("${choices[@]}" false "$v" "$d" "$s")
done

# adjust width & height below for your screen 640x480 default for 1920x1080 HD screen
# also adjust font="14" below if blue text is too small or too large

choices=(`zenity \
        --title "rm-kernels - Total: $t MB excluding: $current_version" \
        --list \
        --separator="$IFS" \
        --checklist --multiple \
        --text 'Check box next to kernel(s) to remove' \
        --width=640 \
        --height=480 \
        --column "Select" \
        --column "Kernel Version Number" \
        --column "Modified Date" \
        --column " Size " \
        "${choices[@]}"`)
IFS="$OLDIFS"

i=0
list=""
for choice in "${choices[@]}" ; do
    if [ "$i" -gt 0 ]; then list="$list- "; fi # append "-" from last loop
    ((i++))

    short_choice=$(echo $choice | cut -f1-2 -d"-")
    header_count=$(find /usr/src/linux-headers-$short_choice* -maxdepth 0 -type d | wc -l)

    # If -lowlatency and -generic are purged at same time the _all header directory
    # remains on disk for specific version with no -generic or -lowlatency below.
    if [[ $header_count -lt 3 ]]; then
        # Remove all w.x.y-zzz headers
        list="$list""linux-image-$choice- linux-headers-$short_choice"
    else
        # Remove w.x.y-zzz-flavour header only, ie -generic or -lowlatency
        list="$list""linux-image-$choice- linux-headers-$choice" 
    fi

done

if [ "$i" -gt 0 ] ; then
     apt-get purge $list
fi

Измененная дата Вам нужно sudo-разрешение для создания файла, поэтому используйте:

gksu gedit /usr/local/bin/rm-kernels

Чтобы сделать файл исполняемый файл:

sudo chmod +x /usr/local/bin/rm-kernels

ПРИМЕЧАНИЕ. Для версии этого сценария для сервера (текстовый, а не GUI) см .: Как удалить старые версии ядра для очистки меню загрузки?

28 июля 2017 г. Обновления

Вычисленный размер каждого ядра был взят из /boot/*kernel_version*, который состоял из 5 файлов общим объемом ~ 50 МБ. Формула изменилась, чтобы включить файлы в /usr/src/*kernel_version* и /lib/modules/*kernel_version*. Расчетный размер для каждого ядра теперь составляет ~ 400 МБ. Вышеупомянутый код для rm-kernels и rm-kernels-server обновлен.

По умолчанию нужно оценить размер файлов для linux-заголовков на 125 МБ и linux-изображение при 220 МБ, потому что du может быть болезненно медленно, если файлы не находятся в кеше. Чтобы получить реальный размер, используя du, передайте любой параметр сценарию.

Общее количество всех размеров ядра (исключая текущую текущую версию, которая не может быть удалена) теперь отображается в строке заголовка.

Диалоговое окно, используемое для отображения каждого ядра ПРИМЕЧАНИЕ: . Эта дата может быть перезаписана для всех ядер во время резервного копирования или аналогичных операций. В диалоговом окне теперь отображается cron .

1
задан 9 January 2011 в 21:51

9 ответов

Вы можете отключить клавиатуру с помощью параметров загрузки:

Откройте /boot/grub/grub.cfg как sudo с вашим любимым текстовым редактором. Добавьте i8042.nokbd, предпочтительно в конец файла, и сохраните.

Источник: Форумы Ubuntu Thread

3
ответ дан 25 May 2018 в 23:34

Вы можете отключить клавиатуру с помощью параметров загрузки:

Откройте /boot/grub/grub.cfg как sudo с вашим любимым текстовым редактором. Добавьте i8042.nokbd, предпочтительно в конец файла, и сохраните.

Источник: Форумы Ubuntu Thread

3
ответ дан 25 July 2018 в 22:38

Вы можете отключить клавиатуру через параметры загрузки:

открыть /boot/grub/grub.cfg, как sudo с вашего любимого текстового редактора. Добавить i8042.nokbd, желательно до конца файла, и сохранить.

Источник: нить Ubuntu форум

3
ответ дан 26 July 2018 в 23:18

Вы можете отключить клавиатуру через параметры загрузки:

открыть /boot/grub/grub.cfg, как sudo с вашего любимого текстового редактора. Добавить i8042.nokbd, желательно до конца файла, и сохранить.

Источник: нить Ubuntu форум

3
ответ дан 2 August 2018 в 04:05

Вы можете отключить клавиатуру с помощью параметров загрузки:

  1. Откройте /boot/grub/grub.cfg как sudo с вашим любимым текстовый редактор.
  2. Добавить i8042.nokbd , желательно в конец файла, и сохранить.

Источник: Форумы Ubuntu

3
ответ дан 4 August 2018 в 20:08

Вы можете отключить клавиатуру с помощью параметров загрузки:

  1. Откройте /boot/grub/grub.cfg как sudo с вашим любимым текстовый редактор.
  2. Добавить i8042.nokbd , желательно в конец файла, и сохранить.

Источник: Форумы Ubuntu

3
ответ дан 6 August 2018 в 04:10

Вы можете отключить клавиатуру с помощью параметров загрузки:

  1. Откройте /boot/grub/grub.cfg как sudo с вашим любимым текстовый редактор.
  2. Добавить i8042.nokbd , желательно в конец файла, и сохранить.

Источник: Форумы Ubuntu

3
ответ дан 7 August 2018 в 22:09

Вы можете отключить клавиатуру с помощью параметров загрузки:

  1. Откройте /boot/grub/grub.cfg как sudo с вашим любимым текстовый редактор.
  2. Добавить i8042.nokbd , желательно в конец файла, и сохранить.

Источник: Форумы Ubuntu

3
ответ дан 10 August 2018 в 10:23

Вы можете отключить клавиатуру с помощью параметров загрузки:

  1. Откройте /boot/grub/grub.cfg как sudo с вашим любимым текстовый редактор.
  2. Добавить i8042.nokbd , желательно в конец файла, и сохранить.

Источник: Форумы Ubuntu

3
ответ дан 13 August 2018 в 16:48

Другие вопросы по тегам:

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