Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

Último día para presentar tu charla para Akademy-es 2020 en línea

Esta edición va a ser muy especial. En poco más de un mes se va a celebrar Akademy-es 2020 en línea, la reunión anual en España de usuarios y desarrolladores de KDE.Con el objetivo de dar una oportunidad a los rezagados, entre los que me incluyo, Akademy-es 2020 amplió el plazo para presentar las charlas hasta el 27 de octubre de 2020. Así que estamos en el Último día para presentar tu charla para Akademy-es 2020 en línea, no desaproveches la ocasión y muestra a toda el mundo tu proyecto personal o comunitario.

Último día para presentar tu charla para Akademy-es 2020 en línea

Recordemos que en Akademy-es se realizarán las típicas charlas que presentan las novedades tanto de las aplicaciones como de las herramientas de programación, sin olvidar de los proyectos activos o de aquellos de los que se quieren lanzar en un futuro cercano.

En esta ocasión, Akademy-es 2020 se va a realizar en línea, es decir, que no podremos estrechar los lazos presenciales tan necesarios pero la Comunidad KDE ha pensado que esto no debe ser un impedimento para que del 20 al 22 de noviembre podamos compartir un fin de semana a través de las pantallas. Ya tendremos tiempo de compartir cervezas o café en otra ocasión.

Esta edición es una ocasión única para la comunidad latinoamericana ya que puede participar de forma directa pues las limitaciones geográficas han desaparecido, así que esperamos que tengamos ponencias que vengas del otro lado del charco. Además, si sale bien (que saldrá) puede convertirse en una excelente forma de participar en futuros eventos, aunque sean presenciales.

Ampliado el plazo para presentar tu charla para Akademy-es 2020 en línea

En anteriores ediciones en estas charlas (extraído del programa de Akademy-es 2019 de Vigo) se ha hablado de móviles, de aplicaciones convergentes, de privacidad y seguridad, de la visión del desarrollador, de lenguajes de programación, del Software Libre

¿Y qué encontraremos en esta edición? Pues depende de ti, ya que si tienes algún tema que crees que interesará a la Comunidad KDE y sus simpatizantes, no lo dudes a y presenta tu charla ya para Akademy-es 2020. Estaremos encantados en escuchar tu propuesta.

Si quieres más información visita la web oficial de Akademy-es 2020, no obstante aquí te lo puedo contar yo:
Para proponer actividades se deberá enviar un correo a akademy-es-org@kde-espana.es antes del 18 27 de octubre con un resumen breve de la presentación.

Ampliado el plazo para presentar tu charla para Akademy-es 2020 en línea

Es importante tener en cuenta las siguientes consideraciones:

  • Se puede elegir entre dos formatos de charlas:
    • Charlas de 30 minutos.
    • Lightning talk de 10 minutos.
  • Si la duración de las charlas propuestas no se ajusta a ninguno de estos dos esquemas (por ejemplo, si se necesita más tiempo), esto debe indicarse claramente en la comunicación.
  • Se permitirá a KDE España la distribución bajo una licencia libre de todo el material utilizado para la realización de la actividad, así como de la grabación de la misma.
  • La charla puede ser tanto a nivel de usuario como de nivel técnico.

Se trata de una gran oportunidad de darte a conocer en el mundo KDE y en el mundo del Software Libre en general.

Más información: Akademy-es 2020

¿Qué es Akademy-es?

Akademy-es (#akademyes, que es la etiqueta para las redes sociales) es evento más importante para los desarrolladores y simpatizantes de KDE, que se ha ido celebrando desde el 2006 con éxito creciente.

En general, las Akademy-es son el lugar adecuado para conocer a los desarrolladores, diseñadores, traductores, usuarios y empresas  que mueven este gran proyecto.

En ellas se realizan ponencias, se presentan programas, se hace un poco de caja para los proyectos libres (camisetas, chapas, etc) pero sobre todo se conoce a gente muy interesante y se cargan baterías para el futuro.

Podéis repasar las anteriores ediciones en estas entradas del blog (y si, me tengo que poner a actualizar ya!)

the avatar of Nathan Wolf
the avatar of Federico Mena-Quintero

Librsvg's test suite is now in Rust

Some important changes are afoot in librsvg.

Changes to continuous integration

Some days ago, Dunja Lalic rewrote the continuous integration scripts to be much faster. A complete pipeline used to take about 90 minutes to run, now it takes about 15 minutes on average.

Graph with pipeline timings, which shrink drastically

The description of changes is interesting. The idea is to make tests fail as fast as possible, close to the beginning of the pipeline. To speed up the whole pipeline, Dunja did the following:

  • Move the cargo check stage to the beginning. This test means, "does this even have a chance of compiling?".

  • Have the code style and formatting tests, cargo clippy and cargo fmt, run in parallel with the unit tests. These lints can fail, but they are easy to fix after one is finished modifying the main code.

  • Run the unit tests and the smoke tests in debug mode, so they compile quickly.

  • Run the complete integration test suite in release mode. This takes longer to compile, but there are some slow tests that benefit a lot from faster execution.

  • Move the release tests until the end, and only run them once a week — or whenever, by hand. These take a good amount of time to run, because they do a full make distcheck and autotools is slow. Even then, now these tests take 30-40 minutes, instead of the 90 from before.

  • Between each stage of the pipeline, don't cache what doesn't help reduce compilation time. It seems that keeping around a big cache, with the whole build target, between each pipeline stage can be worse than not having one at all.

Complete pipeline with all the stages

Test suite in Rust

Beteen Sven Neumann, Dunja Lalic, and myself we have finally ported the test suite to Rust: all of librsvg's tests are now in Rust, except for the C API tests. We had to do a few things:

  • Review the old tests and remove some obsolete ones.

  • Port each of the test modules to Rust. They are small, but each one has special little things — test for crashes in the XML loading code, test for crashes during rendering, test the library's security limits.

  • Fix the small tests that come as part of the documentation.

  • Untangle the reference tests and port them to Rust.

  • Move little chunks of code around so the unit tests and integration tests can share utilities to compare images, compute file paths for test fixtures, etc.

The most complicated thing to port was the reference tests. These are the most important ones; each test loads an SVG document, renders it, and compares the result to a reference PNG image. There are some complications in the tests; they have to create a special configuration for Fontconfig and Pango, so as to have reproducible font rendering. The pango-rs bindings do not cover this part of Pango, so we had to do some things by hand.

Anyway, the tests are now in Rust. One nice thing is that now the tests run automatically in parallel, across all CPU cores, so we save on total testing time.

What's next: cargo-c and publish to crates.io

We want to be able to publish librsvg in crates.io as a normal crate; this implies being able to compile, test, and publish entirely from Cargo. The compilation and testing part is done.

Now, we have to reorganize the code so it can be published to crates.io. Librsvg comes in three parts, rsvg_internals with the implementation of the library, librsvg with the traditional C API, and librsvg_crate with the Rust API. However, to publish the Rust API to crates.io, it would be more convenient to have a single crate instead of one with the internals and one with the API.

The next step is thus to reorganize the code:

  • Make it possible to implement the C API as a compile-time option on top of the normal Rust code. We want to use cargo-c to compile the traditional shared library librsvg.so, instead of depending on C tools for compiling and linking.

  • Combine rsvg_internals and librsvg_crate in a single crate, to publish them together. Crates.io has a 10 MB limit per crate; now that the test suite lives in a separate tests crate, this shouldn't be a problem.

  • I would like to polish the public error types before publishing the Rust API; right now they expose some implementation details that are of no interest to callers of the library.

What remains to be ported to Rust?

Only two things, which amount to less than 900 lines of C code:

  • rsvg-convert - the command-line program that everyone uses to convert SVG to PNG and other formats. Fortunately, Sven Neumann wrote some fantastic tests for rsvg-convert, as it is like an API that we need to keep stable: if we change the command-line options or the program's behavior, we would break everyone's scripts.

  • The gdk-pixbuf module for loading SVG. Alberto Ruiz has started porting it to Rust. The generic part of this code could later serve to wrap other Rust image codecs and plug them to gdk-pixbuf.

a silhouette of a person's head and shoulders, used as a default avatar

Más novedades de plasma 5.20: visualizaciones en pantalla y KWin.

Sigo la tradicional serie dedicada a la última actualización del entorno de trabajo de la Comunidad KDE con más novedades de plasma 5.20, cuyo segundo capítulo está dedicado las visualizaciones en pantalla y KWin.

Más novedades de plasma 5.20: visualizaciones en pantalla y KWin.

Continuo esta serie de artículo con el vídeo promocional de Plasma 5.20 que ya presenté hace unos días y que me parece sencillamente espectacular, para pasar más abajo a describir las novedades de Plasma 5.20 aportando mi opinión personal.

Como se suele decir, dentro vídeo…

Visualizaciones en pantalla

Una de las grandes novedades del nuevo entorno de Plasma es el trabajo realizado en el pulido de las visualizaciones en pantalla.

Básicamente estamos hablando de la «ventana» emergente que se muestran al cambiar el volumen o el brillo de la pantalla (por ejemplo), las cuales se han rediseñado para que resulten menos agresivos.

Además la visualización en pantalla del volumen le mostrará una advertencia sutil cuando supere el volumen del 100%.

Más novedades de plasma 5.20: visualizaciones en pantalla y KWin.

Por último, y quizás lo que más me está gustando, el cambio de brillo de la pantalla se realizará ahora mediante una transición suave, lo cual le confiere una simple pero efectiva mejora.

KWin

El gestor de ventanas adquiere un par de novedades interesantes a la hora de situar las ventanas en nuestra pantalla.

La primera es que se ha cambiado la tecla para poder mover las ventanas si tener que arrastrarlas desde su barra de título de [Alt] a [Meta]

En anteriores versiones de Plasma anteriores a 5.20, se podía situar el cursor sobre una ventana, mantener pulsada la tecla [Alt] y luego arrastrar con el ratón para mover la ventana. Debido a que la tecla [Alt] entra en conflicto con muchas aplicaciones de productividad populares ahora se ha cambiado a la tecla [Meta] («Windows»).

Más novedades de plasma 5.20: visualizaciones en pantalla y KWin.
Poniendo ventanas en mosaico con el teclado.

Por otra parte ahora se puede desplazar una ventana a una sección de la pantalla para que ocupe la mitad o un cuarto del espacio disponible (disponerla en forma de «mosaico») usando un acceso rápido de teclado.

Así que ahora para desplazar una ventana a la mitad superior de la pantalla, por ejemplo, mantenga pulsada la tecla [Meta] y pulse la tecla de flecha arriba. Si lo que quiere es desplazarla al cuarto superior izquierdo, mantenga pulsada la tecla [Meta] y pulse a continuación las teclas de las flechas arriba e izquierda.

Más información: KDE

a silhouette of a person's head and shoulders, used as a default avatar

Lanzado Kubuntu 20.10 «Groovy Gorilla»

Hace mucho tiempo que no hablo de una distribución. La razón es que KDE Neon se ha instalado en mis dispositivos y ya no tengo ojos para otra distro. No obstante me alegra que tenga alternativas y me complace anunciar con retraso que ha sido lanzado Kubuntu 20.10 «Groovy Gorilla», una nueva versión de esta veterana distribución basada en Ubuntu.

Lanzado Kubuntu 20.10 «Groovy Gorilla»

«La Comunidad de Kubuntu se complace en anunciar la liberación de Kubuntu 20.10 Groovy Gorilla. Para este lanzamiento Kubuntu se envía con Plasma 5.19.5 y Aplicaciones 20.08. El escritorio lleva el nuevo y fresco aspecto y el magnífico diseño del fondo de pantalla seleccionado por el Grupo de Diseño Visual de KDE.«

Así se anuncia en la página oficial de Kubuntu el lanzamiento de su nueva versión estable de soporte limitado, es decir, cuyo ciclo de mantenimiento no es muy extenso pero que sirve de puente en versiones LTS.

Y es que es ideal para aquellos que estén interesados en estar a la última en la versión de aplicaciones no-KDE.

Lanzado Kubuntu 20.10

Esta nueva versión tienen novedades interesantes como:

  • Soporte para LXD 4.6 y MicroK8s 1.19 para micro nubes resistentes, pequeños clusters de servidores que proporcionan VMs y Kubernetes.
  • Inclusión de las aplicaciones de la rama KDE Aplicaciones 20.08 con jugosas novedades como.
  • Actualizado Latte-dock a su versión 0.9.10.
  • Navegador web Firefox 81
  • Suite ofimática LibreOffice 7.0

Para su descarga e instalación os aconsejo visitar la página web oficial de Kubuntu, y para darle un vistazo nada mejor que un vídeo de Tyler’s Tech donde no solo nos muestra como instalarlo sino que nos hace una pequeña reseña.

Más información: Kubuntu

the avatar of openSUSE Mauritius

Flatpak on openSUSE

Flatpak on openSUSE

I did a presentation during the virtual Hacktoberfest Mauritius on Friday night, 23 October 2020. I had the freedom to choose a topic. So, I decided to talk about setting up Flatpak on openSUSE.

What is Flatpak?

Flatpak is a system for building, distributing, and running sandboxed desktop applications. It was developed in 2015 by Alex Larsson and is currently maintained by an independent community of developers. It is written in C and its source code is available on GitHub.

Installation process is straightforward using zypper.

zypper in flatpak

The flatpak utility can then be used at the command line to add a repository. In our case, we are going to add the flathub repository.

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

We specify the option remote-add to indicate that we wish to add a repository, --if-not-exists to execute the command only if the repo does not exist on the system already, then followed by a name for the repo. We named the repo flathub but we could have called it something else as well, e.g myfavoriterepo. Lastly, we specify the url of the repository.

Next, we check whether the repo has been added.

ish@coffee-bar:~> flatpak remotes
Name    Options
flathub system

We can now start searching and installing apps from the flathub repo.

ish@coffee-bar:~> flatpak search postman
Name             Description                                                 Application ID                  Version          Branch         Remotes
Postman          Postman is a complete API development environment.          com.getpostman.Postman          7.31.0           stable         flathub

We install the application by specifying the Application ID.

flatpak install com.getpostman.Postman

The necessary icons and application shorcuts will be created as the installation completes. Therefore, launching the application from the desktop will follow the usual steps.

However, if you wish to run the application from the command line, e.g Postman, you cannot do so by simply typing postman at the terminal prompt. It should be run as follows:

flatpak run com.getpostman.Postman

Sandbox

With Flatpak, each application is built and run in an isolated environment. By default, the application can only 'see' itself and its runtime. Access to user files, network, graphics sockets, subsystems on the bus and devices have to be explicitly granted.

Flatpak on openSUSE
Diagram source: flatpak.org

Under the hood

Flatpak uses a number of pre-existing technologies. It generally isn’t necessary to be familiar with these in order to use Flatpak, although in some cases it might be useful. They include:

  • The bubblewrap utility from Project Atomic, which lets unprivileged users set up and run containers, using kernel features such as:
    - Cgroups
    - Namespaces
    - Bind mounts
    - Seccomp rules
  • systemd to set up cgroups for sandboxes
  • The OSTree system for versioning and distributing filesystem trees

the avatar of Ish Sookun

Hacktoberfest Mauritius 2020

Hacktoberfest Mauritius 2020

Saamiyah pinged me a few days ago about the Hacktoberfest event that she was organising and asked whether I would be free to present a topic. Sure, why not?

As many tech meetups at the moment, the Hacktoberfest event also was virtual. It was hosted on the Jitsi instance of the Mauritius Software Craftsmanship Community. The event was scheduled to start at 19h30 on Friday, i.e last evening. I was late to join but "luckily" so was everybody.


As the event started, we had some small-talk before the presentations really kick-off. We talked about flexi-time, work-from-(home|anywhere), and how they compare to being full-time in office.

Saamiyah did the first presentation in which she talked about the concept of Hacktoberfest, a month where open source software is celebrated. Sandeep spoke about local open source projects on GitHub.

I spoke about Flatpak and how to set it up on openSUSE. I concluded my presentation with an observation on the rise of Flatpak fuelled by the idea of having immutable & maintenance-free systems such as Fedora Silverblue and openSUSE MicroOS Desktop.

Hacktoberfest Mauritius 2020
Hacktoberfest Mauritius - Flatpak on openSUSE

The presentation slides are available at speakerdeck.com.

The next speaker, Alan, spoke about Docker Swarm, followed by Pritvi who talked about software licenses. It was 22h00 by that time and I could not stay longer. I bid goodnight on the chat room and wished everyone to continue having fun!

the avatar of Chun-Hung sakana Huang

AWS 流程日誌發佈至CloudWatch with AWS CLI 小記

 AWS 流程日誌發佈至CloudWatch with AWS CLI 小記


OS: container with openSUSE Leap 15.2



上次流程日誌啟用是使用 Console 的方式



今天要來寫 透過 AWS CLI 啟用流程日誌

  • 建立方式使用 AWS CLI 方式

  • 發佈至 CloudWatch




==== 建立IAM Role ====


參考官方文件

  • https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-role.html 


建立檔案  Trust-Policy-VPC-flow-logs.json

內容如下


{

  "Version": "2012-10-17",

  "Statement": [

    {

      "Sid": "",

      "Effect": "Allow",

      "Principal": {

        "Service": "vpc-flow-logs.amazonaws.com"

      },

      "Action": "sts:AssumeRole"

    }

  ]

}


使用 AWS CLI 建立  IAM Role


# aws  iam  create-role  --role-name  VPC-Flow-Log  --assume-role-policy-document  file://Trust-Policy-VPC-flow-logs.json


  • file:// 後面要注意是否有對應到 Trust-Policy-VPC-flow-logs.json 所在路徑



==== 建立IAM Policy ===== 


參考官方文件

  • https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-policy.html



建立檔案 VPC-Flow-Log-Policy.json

內容如下


{

  "Version": "2012-10-17",

  "Statement": [

    {

      "Action": [

        "logs:CreateLogGroup",

        "logs:CreateLogStream",

        "logs:PutLogEvents",

        "logs:DescribeLogGroups",

        "logs:DescribeLogStreams"

      ],

      "Effect": "Allow",

      "Resource": "*"

    }

  ]

}   


使用 AWS CLI 建立  IAM Policy


# aws  iam  create-policy  --policy-name  VPC-Flow-Log-Policy  --policy-document  file://VPC-Flow-Log-Policy.json




==== 關聯 Policy 到 Role上 ====

  • 參考官方文件 https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/attach-role-policy.html


# aws  iam  attach-role-policy  --policy-arn  arn:aws:iam::111111111111:policy/VPC-Flow-Log-Policy  --role-name   VPC-Flow-Log


  • policy arn 部分請換成自己的 ID

  • Role-name 對應剛剛建立的 Role




==== 切換到VPC所在的region ====


參考官方文件


可以用指令先觀察目前所設定的 Region


# aws  configure  list

或是

# aws  configure  get  region


設定 Region

# aws  configure  set  region  us-east-2


  • 也可以去觀察 ~/.aws/config



==== 建立 Log Group ====


建立 Log Group


# aws  logs  create-log-group  --log-group-name  flow-log-groups



==== 建立 VPC Flow log ====


建立VPC Flow log



# aws  ec2  create-flow-logs  --resource-type  VPC  --resource-ids  vpc-c11111ac  --traffic-type  ALL  --log-destination-type  cloud-watch-logs   --log-group-name  flow-log-groups  --deliver-logs-permission-arn  arn:aws:iam::111111111111:role/VPC-Flow-Log



  • resource-ids 請換成自己的ID

  • deliver-logs-permission-arn 請換成自己的 ARN


這樣就建立完成


驗證的方式可以參考上一篇的 blog




這樣算是又向 AWS 前進一步


~ enjoy it





Reference:



a silhouette of a person's head and shoulders, used as a default avatar

NMenu, una lanzador de aplicaciones simple Plasma – Plasmoides de KDE (161)

Y no paran de aparecer lanzadores de aplicaciones en Plasma. Como he dicho en varias entradas, buscar y ejecutar los programas en el entorno de trabajo Plasma de la Comunidad KDE es altamente personalizable. Hoy os presento NMenu, una lanzador de aplicaciones simple Plasma con el que llegamos a 161 los plasmoides presentados en el blog

NMenu, una lanzador de aplicaciones simple Plasma – Plasmoides de KDE (161)

Seguimos con las posibilidades de personalización de Plasma 5 en cuanto a lanzadores de aplicaciones. Al lanzador tradicional, a su versión reducida, al lanzador de aplicaciones a pantalla completa y a Tiled Menu, el clon del menú de Windows, se les han unido poco a poco otros lanzadores como UMenu, Minimal Menu, Simple Menu, Launchpad Plasma, Ditto Menu, Kpple o los Menu X y Menu Z.

A todos los anteriores se les une Nmenu, un lanzador de aplicaciones extremadamente simple que nos sirve para seguir personalizando nuestro entorno de trabajo.

NMenu, una lanzador de aplicaciones simple Plasma - Plasmoides de KDE (161)

Es una creación de Nestero, el cual está abierto a escuchar vuestras sugerencias para mejorarlo, como ha hecho en el primer comentario que se le ha hecho en la Store.

Y como siempre digo, si os gusta el plasmoide podéis “pagarlo” de muchas formas en la fluida página de KDE Store, que estoy seguro que el desarrollador lo agradecerá: puntúale positivamente, hazle un comentario en la página o realiza una donación. Ayudar al desarrollo del Software Libre también se hace simplemente dando las gracias, ayuda mucho más de lo que os podéis imaginar, recordad la campaña I love Free Software Day de la Free Software Foundation donde se nos recordaba esta forma tan sencilla de colaborar con el gran proyecto del Software Libre y que en el blog dedicamos un artículo.

Más información: KDE Store

¿Qué son los plasmoides?

Para los no iniciados en el blog, quizás la palabra plasmoide le suene un poco rara pero no es mas que el nombre que reciben los widgets para el escritorio Plasma de KDE.

En otras palabras, los plasmoides no son más que pequeñas aplicaciones que puestas sobre el escritorio o sobre una de las barras de tareas del mismo aumentan las funcionalidades del mismo o simplemente lo decoran.

the avatar of Efstathios Iosifidis

Όρια φόρτισης μπαταρίας και διαχείριση ισχύος στο openSUSE με TLP

Λάμπα openSUSE
Οι μπαταρίες είναι ένα σημαντικό στοιχείο στη βιωσιμότητα των φορητών υπολογιστών. Αξίζει ειδική μεταχείριση για την παράταση της διάρκειας ζωής τους. Μια ειδική μεταχείριση λοιπόν είναι με την προσαρμογή των ορίων φόρτισης μπαταρίας.

Τα όρια φόρτισης μπαταρίας είναι ένας μηχανισμός διακοπής φόρτησης, προτού να φορτιστεί πλήρως η μπαταρία και συνέχιση φόρτησης όταν αρχίσει να αδειάζει. Χωρίς ποτέ φόρτιση της μπαταρίας να πάει στο 100%, η διάρκεια ζωής της μπαταρίας μεγαλώνει. Ρυθμίστε για διακοπή της φόρτισης, εάν η χωρητικότητα της μπαταρίας είναι 85% και επανέναρξη όταν η μπαταρία είναι 75%. Μπορείτε να προσαρμόσετε αυτήν την ποσοστιαία τιμή όπως θέλετε.
START_CHARGE_THRESH_BAT0="75"
STOP_CHARGE_THRESH_BAT0="85"

START_CHARGE_THRESH_BAT1="75"
STOP_CHARGE_THRESH_BAT1="85"

Αυτή η δυνατότητα διαχείρισης ενέργειας είναι αρκετά ολοκληρωμένη όταν χρησιμοποιείτε το ThinkVantage σε λειτουργικό σύστημα Windows. Προφανώς, το ThinkVantage είναι ένα ξεχωριστό χαρακτηριστικό της σειράς φορητών υπολογιστών Thinkpad. Το λογισμικό ThinkVantage δεν είναι διαθέσιμο στο λειτουργικό σύστημα GNU / Linux.

Μία εφαρμογή που μπορεί να εκτελέσει το καθήκον του καθορισμού ορίων φόρτισης μπαταρίας είναι το TLP. Αυτό το λογισμικό είναι άμεσα διαθέσιμο σε πολλά αποθετήρια διανομών GNU / Linux.

Εγκατάσταση TPL

Βλέποντας στον επίσημο ιστότοπο TLP στον σύνδεσμο https://linrunner.de/tlp/ , τα βήματα εγκατάστασης και η εκτέλεση του είναι αρκετά εύκολα.
sudo zypper in tlp-rdw
sudo systemctl enable tlp

Διαμόρφωση TLP

Η διαμόρφωση του TLP γίνεται αλλάζοντας τις ρυθμίσεις στο αρχείο του TLP στη διεύθυνση: /etc/tlp.conf. Χρησιμοποιήστε το αγαπημένο σας πρόγραμμα επεξεργασίας κειμένου. Εδώ είναι η διαμόρφωση η δικιά μου:
--- TLP 1.3.1 --------------------------------------------
+++ Configured Settings:
/etc/tlp.conf L0026: TLP_ENABLE="1"
/etc/tlp.conf L0038: TLP_PERSISTENT_DEFAULT="0"
/etc/tlp.conf L0050: DISK_IDLE_SECS_ON_AC="0"
/etc/tlp.conf L0051: DISK_IDLE_SECS_ON_BAT="2"
/etc/tlp.conf L0056: MAX_LOST_WORK_SECS_ON_AC="15"
/etc/tlp.conf L0057: MAX_LOST_WORK_SECS_ON_BAT="60"
/etc/tlp.conf L0100: CPU_ENERGY_PERF_POLICY_ON_AC="balance_performance"
/etc/tlp.conf L0101: CPU_ENERGY_PERF_POLICY_ON_BAT="balance_power"
/etc/tlp.conf L0128: SCHED_POWERSAVE_ON_AC="0"
/etc/tlp.conf L0129: SCHED_POWERSAVE_ON_BAT="1"
/etc/tlp.conf L0135: NMI_WATCHDOG="0"
/etc/tlp.conf L0150: DISK_DEVICES="sda"
/etc/tlp.conf L0158: DISK_APM_LEVEL_ON_AC="254 254"
/etc/tlp.conf L0159: DISK_APM_LEVEL_ON_BAT="128 128"
/etc/tlp.conf L0198: SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
/etc/tlp.conf L0199: SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"
/etc/tlp.conf L0219: AHCI_RUNTIME_PM_TIMEOUT="15"
/etc/tlp.conf L0264: WIFI_PWR_ON_AC="off"
/etc/tlp.conf L0265: WIFI_PWR_ON_BAT="on"
/etc/tlp.conf L0270: WOL_DISABLE="Y"
/etc/tlp.conf L0276: SOUND_POWER_SAVE_ON_AC="0"
/etc/tlp.conf L0277: SOUND_POWER_SAVE_ON_BAT="1"
/etc/tlp.conf L0283: SOUND_POWER_SAVE_CONTROLLER="Y"
/etc/tlp.conf L0291: BAY_POWEROFF_ON_AC="0"
/etc/tlp.conf L0292: BAY_POWEROFF_ON_BAT="0"
/etc/tlp.conf L0302: RUNTIME_PM_ON_AC="on"
/etc/tlp.conf L0303: RUNTIME_PM_ON_BAT="auto"
/etc/tlp.conf L0323: USB_AUTOSUSPEND="1"
/etc/tlp.conf L0342: USB_BLACKLIST_PHONE="0"
/etc/tlp.conf L0354: USB_BLACKLIST_WWAN="0"
/etc/tlp.conf L0374: RESTORE_DEVICE_STATE_ON_STARTUP="0"
/etc/tlp.conf L0442: NATACPI_ENABLE="1"
/etc/tlp.conf L0443: TPACPI_ENABLE="1"
/etc/tlp.conf L0444: TPSMAPI_ENABLE="1"
/etc/tlp.conf L0032: TLP_DEFAULT_MODE="AC"
/etc/tlp.conf L0076: CPU_SCALING_GOVERNOR_ON_AC="powersave"
/etc/tlp.conf L0077: CPU_SCALING_GOVERNOR_ON_BAT="powersave"
/etc/tlp.conf L0425: START_CHARGE_THRESH_BAT0="80"
/etc/tlp.conf L0426: STOP_CHARGE_THRESH_BAT0="90"
/etc/tlp.conf L0431: START_CHARGE_THRESH_BAT1="80"
/etc/tlp.conf L0432: STOP_CHARGE_THRESH_BAT1="90"

Εκτέλεση TLP

Αφού πραγματοποιήσετε τη ρύθμιση που θέλετε, το TLP είναι έτοιμο για εκτέλεση
sudo systemctl restart tlp
sudo tlp start #εκκίνηση tlp
sudo tlp-stat -s #προβολή κατάστασης tlp
sudo tlp-stat -c #για να δείτε ποια ρύθμιση εκτελείται

Υλικό ανάγνωσης:
https://www.tecmint.com/tlp-increase-and-optimize-linux-battery-life/