Skip to main content

the avatar of Federico Mena-Quintero

Bringing my Emacs from the past

I started using Emacs in 1995, and since then I have been carrying a .emacs that by now has a lot of accumulated crap. It is such an old configuration that it didn't even use the modern convention of ~/.emacs.d/init.el (and it looks like a newer Emacs version will allow .config/emacs as per the XDG standard... at last).

I have wanted to change my Emacs configuration for some time, and give it all the pretty and modern toys.

The things that matter the most to me:

  • Not have a random dumpster in ~/.emacs if possible.
  • Pretty colors.
  • Magit.
  • Rust-mode or whatever the new thing is for rust-analyzer and the Language Server.

After looking at several examples of configurations that mention use-package as a unified way of loading packages and configuring them, I found this configuration which is extremely well documented. The author does literate programming with org-mode and elisp — something which I'm casually interested in, but not just now — but that way everything ends up very well explained and easy to read.

I extracted bits of that configuration and ended up with the following.

Everything in ~/.emacs/init.el and with use-package

;; Initialize package system

(require 'package)

(setq package-archives
      '(("org"     .       "https://orgmode.org/elpa/")
        ("gnu"     .       "https://elpa.gnu.org/packages/")
        ("melpa"   .       "https://melpa.org/packages/")))

(package-initialize)
;(package-refresh-contents)

;; Use-package for civilized configuration

(unless (package-installed-p 'use-package)
  (package-install 'use-package))
(require 'use-package)

(setq use-package-always-ensure t)

~/.emacs.d/custom.el for M-x customize stuff

;; Set customization data in a specific file, without littering
;; my init files.

(setq custom-file "~/.emacs.d/custom.el")
(load custom-file)

Which-key to get hints when typing command prefixes

;; Make it easier to discover key shortcuts

(use-package which-key
  :diminish
  :config
  (which-key-mode)
  (which-key-setup-side-window-bottom)
  (setq which-key-idle-delay 0.1))

Don't pollute the modeline with common modes

;; Do not show some common modes in the modeline, to save space

(use-package diminish
  :defer 5
  :config
  (diminish 'org-indent-mode))

Magit to use git in a civilized fashion

;; Magit

(use-package magit
  :config
  (global-set-key (kbd "C-x g") 'magit-status))

Move between windows with Shift-arrows

;; Let me switch windows with shift-arrows instead of "C-x o" all the time
(windmove-default-keybindings)

Pretty colors

I was using solarized-dark but I like this one even better:

;; Pretty colors

(use-package flatland-theme
  :config
  (custom-theme-set-faces 'flatland
   '(show-paren-match ((t (:background "dark gray" :foreground "black" :weight bold))))
   '(show-paren-mismatch ((t (:background "firebrick" :foreground "orange" :weight bold))))))

Nyan cat instead of scrollbars

;; Nyan cat instead of scrollbar
;; scroll-bar-mode is turned off in custom.el

(use-package nyan-mode
  :config
  (nyan-mode 1))

Move buffers to adjacent windows

;; Move buffers between windows

(use-package buffer-move
  :config
  (global-set-key (kbd "<C-S-up>")     'buf-move-up)
  (global-set-key (kbd "<C-S-down>")   'buf-move-down)
  (global-set-key (kbd "<C-S-left>")   'buf-move-left)
  (global-set-key (kbd "<C-S-right>")  'buf-move-right))

Change buffer names for files with the same name

;; Note that ‘uniquify’ is builtin.
(require 'uniquify)
(setq uniquify-separator "/"               ;; The separator in buffer names.
      uniquify-buffer-name-style 'forward) ;; names/in/this/style

Helm to auto-complete in grand style

(use-package helm
 :diminish
 :init (helm-mode t)
 :bind (("M-x"     . helm-M-x)
        ("C-x C-f" . helm-find-files)
        ("C-x b"   . helm-mini)     ;; See buffers & recent files; more useful.
        ("C-x r b" . helm-filtered-bookmarks)
        ("C-x C-r" . helm-recentf)  ;; Search for recently edited files
        ("C-c i"   . helm-imenu)
        ("C-h a"   . helm-apropos)
        ;; Look at what was cut recently & paste it in.
        ("M-y" . helm-show-kill-ring)

        :map helm-map
        ;; We can list ‘actions’ on the currently selected item by C-z.
        ("C-z" . helm-select-action)
        ;; Let's keep tab-completetion anyhow.
        ("TAB"   . helm-execute-persistent-action)
        ("<tab>" . helm-execute-persistent-action)))

Ripgrep to search in grand style

;; Ripgrep

(use-package rg
  :config
  (global-set-key (kbd "M-s g") 'rg)
  (global-set-key (kbd "M-s d") 'rg-dwim))

(use-package helm-rg)

Rust mode and Language Server

Now that RLS is in the process of being deprecated, it's getting substituted with rust-analyzer. Also, rust-mode goes away in favor of rustic.

;; Rustic, LSP

(use-package flycheck)

(use-package rustic)

(use-package lsp-ui)

(use-package helm-lsp
  :config
  (define-key lsp-mode-map [remap xref-find-apropos] #'helm-lsp-workspace-symbol))

Performatively not get distracted

;;; Show a notification when compilation finishes

(setq compilation-finish-functions
      (append compilation-finish-functions
          '(fmq-compilation-finish)))

(defun fmq-compilation-finish (buffer status)
  (when (not (member mode-name '("Grep" "rg")))
    (call-process "notify-send" nil nil nil
          "-t" "0"
          "-i" "emacs"
          "Compilation finished in Emacs"
          status)))

Stuff from custom.el

The interesting bits here are making LSP work; everything else is preferences.

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(column-number-mode t)
 '(custom-safe-themes
   (quote
    ("2540689fd0bc5d74c4682764ff6c94057ba8061a98be5dd21116bf7bf301acfb" "bffa9739ce0752a37d9b1eee78fc00ba159748f50dc328af4be661484848e476" "0fffa9669425ff140ff2ae8568c7719705ef33b7a927a0ba7c5e2ffcfac09b75" "2809bcb77ad21312897b541134981282dc455ccd7c14d74cc333b6e549b824f3" default)))
 '(delete-selection-mode nil)
 '(lsp-rust-analyzer-display-chaining-hints t)
 '(lsp-rust-analyzer-display-parameter-hints nil)
 '(lsp-rust-analyzer-macro-expansion-method (quote rustic-analyzer-macro-expand))
 '(lsp-rust-analyzer-server-command (quote ("/home/federico/.cargo/bin/rust-analyzer")))
 '(lsp-rust-analyzer-server-display-inlay-hints nil)
 '(lsp-rust-full-docs t)
 '(lsp-rust-server (quote rust-analyzer))
 '(lsp-ui-doc-alignment (quote window))
 '(lsp-ui-doc-position (quote top))
 '(lsp-ui-sideline-enable nil)
 '(menu-bar-mode nil)
 '(package-selected-packages
   (quote
    (helm-lsp lsp-ui lsp-mode flycheck rustic rg helm-rg ripgrep helm-projectile helm buffer-move nyan-mode flatland-black-theme flatland-theme afternoon-theme spacemacs-theme solarized-theme magit diminish which-key use-package)))
 '(rustic-lsp-server (quote rust-analyzer))
 '(scroll-bar-mode nil)
 '(scroll-step 0)
 '(tool-bar-mode nil))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

Results

I am very happy with rustic / rust-analyzer and the Language Server. Having documentation on each thing when one moves the cursor around code is something that I never thought would work well in Emacs. I haven't decided if I love M-x lsp-rust-analyzer-inlay-hints-mode or if it drives me nuts; it shows you the names of function arguments and inferred types among the code. I suppose I'll turn it off and on as needed.

Some days ago, before using helm, I had projectile-mode to work with git checkouts and I was quite liking it. I haven't found how to configure helm-projectile to work; I'll have to keep experimenting.

the avatar of Nathan Wolf

Outside the Cubicle | DeWALT 20v Max Cordless Tool Platform

Outside of the Linux thing and retro tech hobbies of mine, I like to build things and generally improve my domicile so I enjoy tools, especially cordless power tools. Not having that tether to the wall has a kind of freedom to it that makes working with your hands much more enjoyable. I have been … Continue reading Outside the Cubicle | DeWALT 20v Max Cordless Tool Platform
a silhouette of a person's head and shoulders, used as a default avatar

Las novedades Dolphin de abril de 2020

Inicio una serie sobre los cambios en las aplicaciones que han llegado este mes. Empiezo con las novedades Dolphin de abril de 2020, el gestor de ficheros más potente, versátil y funcional que puedes tener en tu escritorio, ya sea libre (GNU/Linux) o privativo (Windows/Mac).

Las novedades Dolphin de abril de 2020

Las novedades Dolphin de abril de 2020Lo he dicho muchas veces pero lo repetiré mil más. ¡Qué suerte tiene la gente que no ha probado Dolphin que no se sienten inútiles al utilizar otro explorador de ficheros!

Y es que por configuración, funcionalidades, flexibilidad y eficiencia creo que no hay mejor gestor de ficheros que Dolphin. Y encima los desarrolladores no dejan de mejorarlo y afinarlo en cada versión.

Hoy me complace compartir con vosotros el listado de mejoras que ha recibido este gestor de archivos de KDE en su última gran actualización de abril de 2020, y de paso me pongo yo al día realizando las correspondientes pruebas.

  • Mejorada la interacción con los sistemas de archivos remotos, como recursos compartidos Samba y servidores SSH. De esta forma ahora es posible empezar a ver películas almacenadas en lugares remotos sin necesidad de descargarlas primero, ya que se transmiten directamente desde la nube al reproductor multimedia a través de Dolphin. Probado y confirmado que funciona a la perfección.
  • Optimizada la conexión con recursos compartidos Samba de Windows y así poder aprovecharse de todos los servicios que ofrecen. Ahora se pueden descubrir estos recursos mediante el protocolo «WS-Discovery» que usan las versiones modernas de Windows y así poder integrar su equipo Linux de un modo transparente en una red de Windows. Esto no lo he podido probar ya que no tengo dispositivos Windows.
  • Nueva funcionalidad  «Duplicar», que permite seleccionar uno o más archivos o carpetas y crear un copia instantánea (sin borrar los originales) con el botón derecho y pulsando en pulsando «Duplicar aquí». También se puede utilizar Crtl + D. Parece una tonterías, pero ahorra tres pasos, optimizando el tiempo de trabajo.

  • Añadida la búsqueda de archivos no solo por su nombre o por su contenido, sino también por sus etiquetas. Lo he probado poniendo mis primeras etiquetas.
  • Soporte integrada de archivos 7Zip. De esta forma se puede navegar por estos archivos comprimidos como si se tratara de carpetas del sistema de archivos.
  • Acceso rápido a a aplicaciones de búsqueda externas como KFind, mediante la creación de un enlace.
  • Añadida el acceso rápido de teclado Ctrl + Mayúsculas + F4 para mover el foco desde y hacia el panel de terminal.  Es decir, mueve el puntero al terminal o lo saca de él al pulsar la combinación. Muy útil.

Más información: KDE

 

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

Comprobar la integridad de una ISO (Ubuntu 20.04 Focal Fossa)

Veamos cómo comprobar que un archivo .iso que hemos descargado no ha sufrido manipulaciones por parte de terceros y que se ha descargado correctamente

A la hora de descargar una  distribución de GNU/Linux para instalarla en nuestro equipo, es importante comprobar que dicha ISO no ha sido manipulada por terceros y que en el proceso de descarga no ha sufrido ningún problema.

En este caso voy a comprobar que la recién salida ISO de Ubuntu Focal Fossa 20.04 está correcta, es la que los desarrolladores publicaron y no ha sufrido problemas durante la descarga.

Para realizar estas comprobaciones, necesitaremos tener instalado gpg en nuestro sistema operativo y descargar tanto el archivo ISO como el archivo con la suma de verificación y la firma de ese archivo todo disponible desde aquí.

¿Qué es cada cosa?

  • El archivo ISO es la propia imagen del sistema operativo que instalaremos y que debemos comprobar que es íntegra
  • El archivo SHA256SUM es un archivo en el que se incluyen la suma de verificación de dicha ISO
  • El archivo SHA256SUM.gpg es la firma de ese archivo por parte de los desarrolladores de Ubuntu que certifica que ese archivo de suma de verificación es legítimo.

Pasos a seguir

1.- Descargar el archivo .iso y las sumas de verificación junto con la firma de ese archivo de las sumas de verificación.

2.- Comprobar que el archivo de suma de verificación está firmado por quien dice que es y no está falsificado ejecutando el comando

gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS

2.1.- Si no tenemos la clave pública deberemos importarla. Copiamos la clave y la importamos por ejemplo desde el servidor de claves de Ubuntu

gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0xD94AA3F0EFE21092

Deberá darnos un resultado de firma correcta:

Firma correcta de "Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>"

3.- Comprobar que la ISO coincide con la suma de verificación

sha256sum -c SHA256SUMS

Deberá darnos un mensaje de que la suma de verificación coincide:

ubuntu-20.04-desktop-amd64.iso: La suma coincide

Es importante realizar estos pasos para comprobar que la ISO es legítima, que coincide con la suma de verificación y que este archivo está firmado y certificado contra modificaciones por los desarrolladores de Ubuntu.

Si tienes correcciones y sugerencias utiliza los comentarios del blog para complementar la información.

Aquí te dejo un vídeo con el proceso. El vídeo está alojado en archive.org en formato webm

También está disponible en YouTube para quien prefiera esta plataforma

https://www.youtube.com/watch?v=dIhuqGDhG9w

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

Ujilliurex 2020, evento online que no te puedes perder #ujilliurex

Quiero invitaros a la próxima edición de Ujilliurex 2020, un evento online, como todos los que vamos ir hablando a lo largo de los meses que vienen, que no te puedes perder. Ujilliurex es un evento que se iba a celebrar en la Universidad Jaume I de Castellón, como era habitual, pero que tuvo que ser retrasado y modificado su formato por razones más que conocidas.

Ujilliurex 2020, evento online que no te puedes perder

Ujilliurex 2020, evento online que no te puedes perderLa conversión de eventos presenciales a virtuales va a ser una constante en estos días. Así ya ha pasado con Akademy, Guadec y cona algunos eventos Flisol, y ya veremos si de muchos otros más.

Ujilliurex no ha sido un excepción y va a ser realizada el próximo 30 de abril en la página web oficial con un programa bastante interesante, y no es porque un servidor haya participado en representación de la Comunidad KDE.

En breve más noticias como el programa.

¿Qué es Ujilliurex?

Se trata de un evento que tiene bastante solera en la provincia de Castellón en el que teniendo como protragonista la distribución de la Generalitat Valenciana Lliurex se presentan novedades sobre ésta y sobre otros proyectos libres.

Está organizado por laUnitat de Suport Educatiu (USE) y el Centro de Educación y Nuevas Tecnologías (CENT) por parte de la UJI y el Centro de formación, innovación y recursos educativos (CEFIRE) de Castellón.

Concretamente sus objetivos fundamentales son:

  • Difundir el uso y manejo de las TIC en la distribución LliureX entre la comunidad educativa universitaria
  • Promover la coordinación, el intercambio y la discusión de conocimientos y experiencias entre profesores universitarios, especialmente de los departamentos con una mayor implicación tanto en la parte educativa de los futuros docentes (Depto. Educación), como posibles usuarios de Lliurex como herramienta en su especialidad (Depto. de Traducción e Interpretación y Depto. de Estudios Ingleses), con docentes de centros educativos de la comunidad valenciana, especialmente de los departamentos de idiomas y Coordinadores de Tecnologías de la Información (Coordinadores TIC).
  • Compartir conocimiento y debatir sobre el contenido de la distribución y la utilización de diversas aplicaciones de la distribución
  • Iniciar una serie de contactos entre las entidades organizadoras de la jornada y los asistentes de los diferentes centros y departamentos.

El evento está promovido por Grupos de Innovación Educativa sobre competencia digital en Lliurex y LliurexLab de la UJI, elVicerrectorado de Estudios y Docencia de la Universitat Jaume I yel Comisionado de la rectora para el Impulso Digital de la Universitat Jaume I

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

crow-translate una aplicación simple ligera y de software libre para traducir texto

crow-translate es una aplicación disponible para GNU/Linux que traduce texto en varios idiomas utilizando las API de Google, Yandex o Bing

Haz clic sobre la imagen para ampliar

Seguro que más de una vez has tenido que utilizar un traductor de texto para un trabajo o tarea que has tenido que realizar, o simplemente para saber de qué trataba una texto.

Opciones y herramientas hay muchas, hoy quiero traer hasta el blog una llamada crow-translate que está publicada bajo licencia GPL-v.3 y que está disponible para muchas distribuciones de GNU/Linux.

Crow-translate es una aplicación escrita en C++ y Qt con una interfaz sencilla, un consumo de memoria muy bajo (20Mb) y un montón de posibilidades para traducir utilizando las API de servicios de traducción de Google, Yandex o Bing.

Una vez instalada la aplicación, podemos ejecutarla y se quedará “residente” en la memoria y la tendremos siempre a mano en un icono en la bandeja de sistema o mediante la interfaz para la línea de comandos o con los atajos de teclado.

Crow-translate traduce texto desde un idioma que puede detectar y de manera predeterminada el texto al idioma que tengamos configurado en nuestro sistema, pero esto se puede cambiar y se pueden añadir opciones a otros idiomas.

También tiene la opción de que la aplicación nos lea el texto a traducir o traducido, lo que en ocasiones puede resultarnos interesante si queremos saber cómo se pronuncian algunas palabras o frases, etc.

Otra funcionalidad interesante de Crow-translate son sus atajos de teclado. Para mí el más interesante es sin duda Ctrl+Alt+E que nos traducirá el texto que tengamos seleccionado.

Esos atajos de teclado son configurables, como muchos otros aspectos de la propia aplicación y la interfaz para adecuarlos a nuestras preferencias.

También tiene la opción de utilizar la aplicación desde la línea de comandos. Podemos configurar varios de sus aspectos y podemos simplemente traducir un texto desde una consola mediante:

crow hola mundo

En este vídeo en formato .webm alojado en archive.org podéis ver en detalle la aplicación:

También está disponible en YouTube, para quien prefiera esta opción, en el enlace:

https://www.youtube.com/watch?v=2fNRa9DmQ2Q

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

MediaBar, otro controlador multimedia para Plasma – Plasmoides de KDE – (141)

Lo dije hace unos meses, tener un controlador multimedia en el escritorio mola y el escritorio Plasma de la Comunidad KDE no tiene uno, tiene unos cuantos.  Hoy os quiero presentar MediaBar, otro controlador multimedia para Plasma que complementa al oficial, al Mediacontroller Plus y al Media Controller Compact.

MediaBar, otro controlador multimedia para Plasma

De la mano de Climber nos llega otro plasmoide ideal para los que no pueden estar delante de su ordenador sin estar escuchando música.

Se trata de MediaBar, un widget que nos permite controlar nuestro reproductor multimedia directamente desde nuestro entorno de trabajo, como lo hace el plasmoide oficial de Plasma (mediacontroller).

MediaBar

Sus características básicas son las siguientes:

  • Ver y controlar los medios de comunicación desde el interior de un panel o lanzador (como Latte Dock)
  • Formato simple: Nombre del artista – Título de la pista
  • Ver el álbum y el arte del álbum en vista ampliada y en la punta de la herramienta
  • Ver la posición actual de la pista en vista ampliada
  • Controlable mediante  atajos de teclado.
  • Tamaño y el desplazamiento de texto automático e inteligente.

Y como siempre digo, si os gusta el plasmoide podéis “pagarlo” de muchas formas en la nueva 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.

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

openSUSE Leap で iSCSI Target のセットアップ

最近、電源が壊れたPCを1台リプレースし、余ったマザーボード、CPU、メモリーでファイルサーバーを構築しました。その際にデータをファイルサーバーに移し、デスクトップ PC の HDD を外してしまったので、仮想マシン用の VM の仮想ディスクイメージもファイルサーバーに移す必要がありました。しかし、Hyper-V のディスクイメージは Samba サーバーに置くことができないようなので、仮想マシンのディスクイメージを iSCSI で Hyper-V に接続するようにしてみました。

今日は openSUSE Leap 15.2 (beta) で iSCSI Target(サーバー)のセットアップ方法を紹介します。今回設定する構成はディスクイメージを iSCSI で公開するファイルサーバーと、ファイルサーバーと同じネットワークにあり、そのディスクイメージを使用する Windows 10 のデスクトップ PC からなる単純なものです。

必要なパッケージは targetcli をインストールすれば揃います。YaST でも設定できるのですが、設定できる項目が少ないようなので、targetcli を使って設定します。

$ sudo zypper in targetcli

それでは targetcli を起動して設定していきます。

$ sudo targetcli

まずはディスクイメージファイルを作成します。targetcli の中で /backstores/fileio に移動して、create コマンドでディスクイメージを作成できますここでは /var/storage/disk1.img に 10 GB のディスクイメージ作成します。 /var/storage ディレクトリは先に作成しておく必要があります。

ls コマンドで disk1 が作成されたことが確認できます。

/> cd backstores/fileio 
/backstores/fileio> create file_or_dev=/var/storage/disk1.img name=disk1 size=10G
Created fileio disk1 with size 10737418240
/backstores/fileio> ls
o- fileio ............................................................. [Storage Objects: 1]
  o- disk1 ....................... [/var/storage/disk1.img (10.0GiB) write-back deactivated]
    o- alua ............................................................... [ALUA Groups: 1]
      o- default_tg_pt_gp ................................... [ALUA state: Active/optimized]

次に /iscsi で create コマンドを実行し、iSCSI の target を作成します。create の IQN 形式の ID を省略すると勝手に作成してくれます。

/backstores/fileio> cd /iscsi
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.testserver.x8664:sn.b527a14e621a.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> ls
o- iscsi ...................................................................... [Targets: 1]
  o- iqn.2003-01.org.linux-iscsi.testserver.x8664:sn.b527a14e621a ................ [TPGs: 1]
    o- tpg1 ......................................................... [no-gen-acls, no-auth]
      o- acls .................................................................... [ACLs: 0]
      o- luns .................................................................... [LUNs: 0]
      o- portals .............................................................. [Portals: 1]
        o- 0.0.0.0:3260 ............................................................... [OK]

この target で公開するディスク (lun0) を作成し、最初に作成したディスクイメージ(/backstores/fileio/disk1)を割り当てます。

/iscsi> cd iqn.2003-01.org.linux-iscsi.testserver.x8664:sn.b527a14e621a/tpg1/luns
/iscsi/iqn.20...21a/tpg1/luns> create storage_object=/backstores/fileio/disk1 
Created LUN 0.
/iscsi/iqn.20...21a/tpg1/luns> ls
o- luns .......................................................................... [LUNs: 1]
  o- lun0 ....................... [fileio/disk1 (/var/storage/disk1.img) (default_tg_pt_gp)]

最後に、この taget にはデスクトップPC からしかアクセスできないようにします。ここではデスクトップPCのID(Windows の iSCSI イニシエーターに設定するもの)を iqn.2020-04.example.com:desktop-pc とします。tpg1/acls 内でイニシエーター名を指定し、create コマンドを実行します。さらに、ユーザーIDとパスワードを設定し、事実上誰からもアクセスできる状態にならないようにします。

/iscsi/iqn.20...21a/tpg1/luns> cd ../acls
/iscsi/iqn.20...21a/tpg1/acls> create iqn.2020-04.example.com:desktop-pc
Created Node ACL for iqn.2020-04.example.com:desktop-pc
Created mapped LUN 0.
/iscsi/iqn.20...21a/tpg1/acls> cd iqn.2020-04.example.com:desktop-pc/
/iscsi/iqn.20...om:desktop-pc> set auth userid=testuser
Parameter userid is now 'testuser'.
/iscsi/iqn.20...om:desktop-pc> set auth password=testpassword1234
Parameter password is now 'testpassword1234'.
/iscsi/iqn.20...om:desktop-pc> ls
o- iqn.2020-04.example.com:desktop-pc ..................................... [Mapped LUNs: 1]
  o- mapped_lun0 .................................................. [lun0 fileio/disk1 (rw)]

この段階で mapped_lun0 が作成され、iqn.2020-04.example.com:desktop-pc に mapped_lun0 が作成されます。Leap 15.1 で試したときは、この mapped_lun0 が自動的に作成されず、Windows の iSCSI イニシエーターから接続してもディスクが何も表示されない状態になってしまいました。このような場合は、次のコマンドで mapped_lun を作成することができます。

create mapped_lun=0 tpg_lun_or_backstore=lun0

これまでの設定は以下の通りです。この状態で Windows の iSCSI イニシエーターでファイルサーバーに接続すると、ディスクの管理で iqn.2003-01.org.linux-iscsi.testserver.x8664:sn.b527a14e621a の lun0 (/backstores/fileio/disk1, /var/storage/disk1.img) がディスクとして見えるようになります。あとは Hyper-V でこのディスクを割り当てれば仮想マシンのディスクとして使用することができます。

/> ls /
o- / ................................................................................. [...]
  o- backstores ...................................................................... [...]
  | o- block .......................................................... [Storage Objects: 0]
  | o- fileio ......................................................... [Storage Objects: 1]
  | | o- disk1 ..................... [/var/storage/disk1.img (10.0GiB) write-back activated]
  | |   o- alua ........................................................... [ALUA Groups: 1]
  | |     o- default_tg_pt_gp ............................... [ALUA state: Active/optimized]
  | o- pscsi .......................................................... [Storage Objects: 0]
  | o- ramdisk ........................................................ [Storage Objects: 0]
  | o- rbd ............................................................ [Storage Objects: 0]
  o- iscsi .................................................................... [Targets: 1]
  | o- iqn.2003-01.org.linux-iscsi.testserver.x8664:sn.b527a14e621a .............. [TPGs: 1]
  |   o- tpg1 ....................................................... [no-gen-acls, no-auth]
  |     o- acls .................................................................. [ACLs: 1]
  |     | o- iqn.2020-04.example.com:desktop-pc ........................... [Mapped LUNs: 1]
  |     |   o- mapped_lun0 ........................................ [lun0 fileio/disk1 (rw)]
  |     o- luns .................................................................. [LUNs: 1]
  |     | o- lun0 ............... [fileio/disk1 (/var/storage/disk1.img) (default_tg_pt_gp)]
  |     o- portals ............................................................ [Portals: 1]
  |       o- 0.0.0.0:3260 ............................................................. [OK]
  o- loopback ................................................................. [Targets: 0]
  o- vhost .................................................................... [Targets: 0]
  o- xen-pvscsi ............................................................... [Targets: 0]
the avatar of Alionet

Salt, LLVM et TigerVNC dans Tumbleweed

Depuis jeudi dernier, un total de cinq instantanés openSUSE Tumbleweed ont été publiés.

Chaque instantané a mis à jour environ cinq à dix paquets.

L'instantané le plus récent, 202000414 a quelques bibliothèques mises à jour comme libgit2 0.28.5, libva 2.7.0 et libva-gl 2.7.0. Plusieurs bugs et cinq Vulnérabilités et expositions communes ont été corrigés pour le client VNC multiplateforme hautes performances tigervnc 1.10.1. Midnight Commander (mc) 4.8.24, un gestionnaire de fichiers plein écran en mode texte, a fourni de nouveaux thèmes et ajouté la coloration syntaxique pour yabasic (Yet Another BASIC). Une mise à jour mineure de la version 0.9.5 de plymouth a supprimé les en-têtes de noyau inutilisés et les dépendances de construction des modules-init-tools et les paramètres xfce4 4.14.3 ont mis à jour les traductions et modifié l'affichage pour permettre l'utilisation d'une configuration de secours. Le paquet xfwm4 4.14.1, le gestionnaire de fenêtres de l'environnement Xfce, a corrigé les noms d'hôtes qui ne s'affichaient pas initialement lors de l'exécution à distance des applications et la mise à jour a corrigé un plantage avec la bibliothèque graphique impliquant une utilisation élevée du processeur. Le snapshot est actuellement stable, avec une note de 93, selon le Tumbleweed snapshot reviewer.

Une nouvelle version majeure du navigateur Mozilla Firefox a été publiée dans l'instantané 20200413. La nouvelle version 75.0 améliore le comportement sous Linux lorsque vous cliquez sur la barre d'adresse et la barre de recherche, qui correspond désormais à d'autres bureaux: un simple clic sélectionne tout sans sélection principale; un double clic sélectionne un mot; et un triple clic sélectionne tout avec la sélection principale. De plus, Firefox est maintenant disponible dans Flatpak et un bug de sécurité de la mémoire pour Firefox 75 et Firefox ESR 68.7 a été corrigé. Le paquet btrfsprogs est passé de la version 5.4.1 à la version 5.6 et prend en charge de nouveaux algorithmes de hachage dans le noyau Linux 5.5; la nouvelle version prend également en charge les fonctionnalités LOGICAL_INO_V2 dans la résolution logique. La nouvelle option «-o» prend en charge les outils avancés de déduplication. La bibliothèque libostree 2020.3 a été mise à jour dans Tumbleweed à partir de sa précédente version 2019.6; neuf mois de mises à jour apportent plusieurs fonctionnalités et correctifs plus récents, comme la prise en charge du montage en lecture seule de /sysroot au démarrage, et la gestion des erreurs autour de la vérification GPG a été révisée. L'éditeur de texte nano 4.9.2 a corrigé un plantage après avoir annulé un après un espace de début de ligne. Le cliché a actuellement une cote modérée de 83 selon le Tumbleweed snapshot reviewer.

L'instantané 20200411 a également une tendance de 83 et a fourni moins d'une demi-douzaine de paquets mis à jour. Le paquet gnome-weather 3.34.2 de GNOME a corrigé un bug de température et de conditions nuageuses lors de l'utilisation de l'autolocalisation. La version yast2 4.2.81 a retraduit le bouton d'aide de l'assistant dans l'interface utilisateur ncurses. Des mises à jour ont...

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

New folder from selected – Service menu para KDE

Hace tiempo que no hablo de los Service Menu para Plasma, el escritorio libre de la Comunidad KDE, y eso que son muy útiles y que cada vez son más. Hoy os quiero presentar New folder from selected – Service Menu para Plasma 5 que nos harán la vida un poco más fácil ya que nos permite crear una carpeta con el contenido seleccionado. Simple pero eficaz.

New folder from selected – Service menu para KDE

La idea de los Service Menu es simple, añadir al botón derecho de Plasma en Dolphin la opción de realizar cualquier acción que se nos ocurra. Algunos de ellos pueden ser incorporados a las acciones por defecto de Dolphin.

Hoy me complace presentar New folder from selected, un Service Menu de Mauricio 288 con el que podemos optimizar algunas de las acciones que solemos hacer casi cada día, en este caso crear una carpeta con el contenido de los archivos seleccionados.

New folder from selected - Service menu para KDE

 

Hay que insistir que al programador de este Service Menu le encantará que le deis me gusta en la KDE Store y que le comentéis como os funciona. Os recuerdo que 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 2017 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 Dolphin Service Menu?

La personalización de KDE y Plasma está más que demostrada y prueba de ello son los Dolphin Service Menu, que no son más que la posibilidad de disponer un menú auxiliar en el gestor de archivos Dophin o en Konqueror que se activa con el botón derecho del ratón.
Con ellos tendremos nuevas acciones como:

Y muchos más como hemos explicado en varias ocasiones en el blog. Puedes encontrar estos servicios se pueden encontrar en la sección Dolphin Service Menu en la Store de KDE.