Ya fue liberada la versión beta de Android 13

Google dio a conocer hace poco mediante una publicación de blog la liberación de la primera versión beta de Android 13, la cual incluye algunos nuevos cambios y adiciones desde las versiones preview 1 y preview 2 (de las cuales ya hablamos aquí en el blog).

De los cambios que hasta ahorita se conocen de lo que será la próxima versión de Android, se destacan por ejemplo cambios en el diseño, la posibilidad de elección del idioma para cada aplicación, nuevo mecanismo de conexión a dispositivos cercano, asi como tambien una interfaz de usuario de Android 12L.

Ya es abril y hemos logrado un progreso constante en el perfeccionamiento de las funciones y la estabilidad de Android 13, en torno a nuestros temas principales de privacidad y seguridad, productividad de los desarrolladores, así como compatibilidad con tabletas y pantallas grandes. Hoy pasamos a la siguiente fase de nuestro ciclo y lanzamos la primera versión beta de Android 13.

Para los desarrolladores, hay mucho que explorar en Android 13, desde características de privacidad como el nuevo permiso de notificación y el selector de fotos, hasta las API que lo ayudan a crear excelentes experiencias, como íconos de aplicaciones temáticas, ubicación rápida de mosaicos de configuración y soporte de idioma por aplicación. así como capacidades como audio Bluetooth LE y MIDI 2.0 a través de USB. En Beta 1, agregamos nuevos permisos para un acceso más granular a los archivos multimedia, API de enrutamiento de audio mejoradas y más. 

Cabe señalar que hasta el momento de las versiones preview presentadas, estas se han enfocado en mejorar la experiencia en dispositivos con pantallas grandes, como tabletas, Chromebooks y teléfonos inteligentes con pantallas plegables

Ya que por ejemplo para pantallas grandes, el diseño del menú desplegable de notificaciones, la pantalla de inicio y la pantalla de bloqueo del sistema se ha optimizado para utilizar todo el espacio de pantalla disponible, ademas de que tambien se agregó soporte para un modo de dos paneles en el configurador, en el que las secciones de configuración ahora están constantemente visibles en pantallas grandes.

Ademas de que se han mejorado los modos de compatibilidad para las aplicaciones, pues se propone la implementación de la barra de tareas, que muestra los íconos de las aplicaciones en ejecución en la parte inferior de la pantalla, lo que permite cambiar rápidamente entre programas y admite la transferencia de aplicaciones a través de la interfaz de arrastrar y soltar a varias áreas del modo multiventana (pantalla dividida), dividiendo la pantalla en partes para trabajar con varias aplicaciones simultáneamente.

Por la parte de los cambios en Android 13-beta1 desde Preview 2 podremos enocntrar que se proporciona la concesión selectiva de permisos para el acceso a archivos multimedia. Anteriormente, si se necesitaba leer archivos multimedia del almacenamiento local, se tenía que otorgar el derecho READ_EXTERNAL_STORAGE, que abre el acceso a todos los archivos, ahora puede otorgar acceso por separado a imágenes (READ_MEDIA_IMAGES), archivos de sonido (READ_MEDIA_AUDIO) o video (READ_MEDIA_VIDEO) .

Para las aplicaciones de generación de claves, las API Keystore y KeyMint ahora se brindan indicadores de error más detallados y precisos y permiten el uso de excepciones java.security.ProviderException para detectar errores

Otro de los cambios que se destacan en esta versión Beta de Android 13, es en AudioManager ha agregado una API para el enrutamiento de audio, que le permite determinar cómo se procesará la transmisión de audio. Se ha agregado el método getAudioDevicesForAttributes() para obtener una lista de dispositivos a través de los cuales es posible la salida de sonido, así como el método getDirectProfilesForAttributes() para determinar la posibilidad de reproducción directa de transmisiones de audio.

Finalmente cabe mencionar que se espera que Android 13 se lance en el tercer trimestre de 2022 y para aquellos interesados en evaluar las nuevas características de la plataforma, se ha propuesto un programa de prueba preliminar.

Las compilaciones del firmware están reparadas para dispositivos Pixel 6/6 Pro, Pixel 5/5a 5G, Pixel 4/4 XL/4a/4a (5G). Se ha proporcionado una actualización OTA para aquellos que instalaron la primera versión de prueba.

Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/DOIK61w
via IFTTT

Richard Stallman habla sobre el estado del movimiento del software libre y ataca a Apple y Canonical

 

Hace algunos dias Richard Stallman habló sobre «el estado del movimiento del software libre» y en lo cual no ha sido amable con Apple y Canonical en estos comentarios.

Y es que Richard Stallman menciona que Apple continúa convirtiendo a las Mac en una especie de «prisión» al impedir que los usuarios hagan lo que quieran con sus máquinas e instalen sus propios programas o archivos binarios obtenidos de otras personas, a lo cual «señaló que esto debería ser ilegal», ademas de que Stallman también desaconseja el uso de Ubuntu, que dice que no es una distribución gratuita de GNU/Linux.

Para quienes desconocen de Richard Matthew Stallman (RMS), deben saber que tuvo una gran influencia en el mundo del software (en particular, el software libre), pero también es conocido por sus comentarios y posiciones a veces controvertidos.

Ferviente defensor del software libre, no pierde la oportunidad de criticar a las empresas en el origen de las soluciones propietarias y lidera una lucha especial contra Apple. RMS ha criticado repetidamente a la empresa y a su cofundador Steve Jobs, acusándolos de haber creado «un ecosistema informático cerrado en el que los usuarios están en prisión». Para él, nadie tiene derecho a prohibir que la gente haga lo que quiera con las máquinas que ha comprado.

“Steve Jobs, el pionero de la computación carcelaria genial diseñada para robarle a la gente su libertad, está muerto. No me alegro de que esté muerto, pero me alegro de que se haya ido. Nadie merece morir, ni siquiera Jobs, o Bill Gates, o incluso personas culpables de fechorías mayores. Pero todos merecemos el fin de la influencia maligna de Jobs en la informática de las personas. La gente debería dejar de elogiar a Jobs por el elegante estilo carcelario que creó con su firma. Es un error meter a los usuarios en la cárcel”, dijo el evangelista del software libre poco después de la muerte del difunto Steve Jobs.

En su presentación de una hora y media sobre «El estado del movimiento del software libre» Stallman no ha cambiado su retórica frente a Apple. Según la Free Software Foundation (FSF), «Debido a dificultades técnicas imprevistas, RMS realizó su presentación en forma de podcast». La FSF ha puesto a disposición el audio para que lo escuche, pero mientras tanto, aquí está la transcripción de algunos pasajes de su discurso.

RMS comenzó agradeciendo a todos los que contribuyeron con el software libre y alentó a aquellos que quieran ayudar a visitar el sitio web del Proyecto GNU.

“El movimiento del software libre es universal y moralmente no debería excluir a nadie. Aunque hay delitos que deben ser castigados, impedir que alguien contribuya al software libre castiga al mundo. Esa persona no”, dijo. También señaló algunas cosas que han mejorado en el movimiento del software libre, incluidas grandes mejoras en proyectos como GNU Emacs cuando se visualizan paquetes externos.

RMS estaba particularmente enojado porque «todas las empresas tecnológicas ahora quieren encerrar a las personas y subyugarlas». Según él, “esto desvía la informática de su propósito original, que es hacer la vida más fácil a las personas”.

“Bueno, las máquinas gratuitas que tenemos están envejeciendo y escaseando. Es difícil encontrar una manera de respaldar algo nuevo, porque tanto Intel como AMD diseñan su hardware para subyugar a las personas. Si fueran fundamentalmente críticos públicos, sería difícil que lo hicieran peor de lo que lo están haciendo”, dijo.

Luego habló sobre Ubuntu, la distribución desarrollada y comercializada por Canonical:

“Ubuntu es, por supuesto, una distribución no libre y no recomendaría a nadie que la use. Algunos paquetes importantes ahora solo se distribuyen mediante su sistema de paquetes que no respeta la libertad, no como paquetes Debian. Por lo tanto, es aún más difícil que antes obtener alguna libertad de una instalación de Ubuntu”, dijo RMS. 

Posterior a ello Stallman hablo sobre la libertad material y el Macintosh:

“Los Macins se están convirtiendo en prisiones, como los iMonsters. Cada vez es más difícil para los usuarios incluso instalar sus propios programas para que funcionen. Y eso, por supuesto, debería ser ilegal. Debería ser ilegal vender una computadora que no permita a los usuarios instalar su propio software desde el código fuente. Y probablemente no debería permitirse que la computadora le impida instalar archivos binarios que obtiene de otras personas, aunque es cierto que en tales casos lo hace bajo su propio riesgo», dijo RMS.

RMS terminó su presentación anunciando un nuevo libro que ha escrito, un manual para el compilador GNU C.

Finalmente, si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el podcast, el cual puedes escuchar desde el siguiente enlace.

from Linux Adictos https://ift.tt/yoWFgsm
via IFTTT

El proyecto VeriGPU anuncio el desarrollo de una GPU abierta

El proyecto VeriGPU dio a conocer hace pocos dias que ha comenzado a trabajar en el desarrollo de una GPU abierta, la cual tiene como objetivo ser desarrollada bajo el lenguaje de modelado y descripción de sistemas electrónicos Verilog.

Para quienes desconocen de VeriGPU, deben saber que este se posiciona como un procesador específico de aplicaciones (ASIC) optimizado para acelerar los cálculos relacionados con los sistemas de aprendizaje automático.

De manera iniciar, el proyecto se está desarrollando utilizando el simulador Verilog, pero después de que esté listo, se puede utilizar para producir chips reales.

Los planes incluyen compatibilidad con el marco de aprendizaje profundo PyTorch y la capacidad de desarrollar aplicaciones para VeriGPU utilizando la API HIP (interfaz de computación heterogénea). En un futuro no se descarta la incorporación de soporte para otras API, como SYCL y NVIDIA CUDA.

Es importante mencionar que el desarrollo de esta GPU está dirigida directamente al entrenamiento de aprendizaje automático. Por lo tanto, idealmente debería ser compatible con los marcos de aprendizaje automático actuales, como PyTorch y Tensorflow, esto significa que es casi seguro que debe ser compatible con NVIDIA CUDA o AMD HIP.

Aunque tambien se menciona que sé podría implementar una interfaz OpenCL o SYCL, aunque actualmente la compatibilidad con los marcos principales es limitada. Hay un marco de aprendizaje profundo de OpenCL dedicado en DeepCL, pero tiene un conjunto relativamente limitado de capas de red neuronal y posibles topologías de red, en comparación con PyTorch y Tensorflow.

Actualmente, no tenemos la intención de implementar la ejecución fuera de orden, es decir, comenzar una instrucción antes de que haya comenzado la anterior, porque esto es complicado en un escenario de subprocesos múltiples de una sola instrucción (SIMT), y porque esto hace que los núcleos usen más área de troquel. , y por lo tanto menos en número (o más caro).

Por otro lado, implementaremos la ejecución de instrucciones en paralelo, donde comenzamos una instrucción mientras la instrucción anterior aún se está ejecutando. Esto es estándar y bastante liviano, no ocupa demasiada área de troquel.

Actualmente no se implementa almacenamiento en caché de ningún tipo (sin nivel 1, sin nivel 2, sin nivel 3, ni siquiera caché de instrucciones: P). Dado que tengo la intención de crear una GPU, que tiene un mecanismo de caché diferente al de la CPU, pensaré en esto una vez que comience a parecerse más a una GPU.

La GPU evoluciona en función del conjunto de instrucciones de RISC-V, pero la arquitectura del conjunto de instrucciones de GPU interno resultante es poco compatible con RISC-V ISA, ya que en situaciones en las que el diseño de la GPU no se ajusta a la representación de RISC-V, ademas de que no se establece la tarea de mantener la compatibilidad con RISC-V.

Dado que el desarrollo se centra en las capacidades requeridas para los sistemas de aprendizaje automático, por lo tanto, para reducir el tamaño y la complejidad de la matriz del chip, solo se utiliza el formato de coma flotante BF16 y solo las operaciones de coma flotante que están en demanda para el aprendizaje automático, como exp, log, tanh y sqrt, están disponibles.

De los componentes ya disponibles se mencionan por ejemplo el controlador GPU, APU (Accelerated Processing Unit) para operaciones con enteros («+»,»-«,»/»,»*»), unidad para operaciones de punto flotante («+»,»*») y una unidad de ramificación, asi como también el soporte para el compilador HIP.

Para la creación de aplicaciones se ofrece ensamblador y soporte para compilar código C++ basado en LLVM. De las características previstas, se destacan la ejecución paralela de instrucciones, el almacenamiento en caché de datos y la memoria de instrucciones, las operaciones SIMT (Single Instruction Multiple Thread).

Finalmente, si estás interesado en poder conocer más al respecto sobre el desarrollo de esta GPU de código abierto, debes saber que los desarrollos del proyecto se distribuyen bajo la licencia MIT y puedes consultar el código, asi como los avances del proyecto desde el siguiente enlace.

from Linux Adictos https://ift.tt/LtiQahO
via IFTTT

La implementación OpenCL de Mesa escrita en rust ya supero las pruebas CTS

La nueva implementación de OpenCL (rusticl) desarrollada para el proyecto Mesa, escrita en Rust, ha superado con éxito las pruebas CTS (Kronos Conformance Test Suite) utilizadas por el consorcio Khronos para evaluar la compatibilidad con las especificaciones de OpenCL 3.0.

Para quienes desconocen de»Rusticl» deben saber que este se ha publicado como una nueva implementación de Mesa OpenCL escrita en el lenguaje de programación Rust.

Rusticl fue iniciado por el conocido colaborador de Mesa Karol Herbst de Red Hat quien comenzó como ingeniero del controlador de código abierto»Nouveau» de NVIDIA mientras estaba en Red Hat, y trabajó en el soporte informático Clover de Mesa y otros esfuerzos. Rusticl es un intento de Herbst de aprender el lenguaje de programación Rust y también de proporcionar una nueva (y con suerte superior) implementación de OpenCL.

Rusticl es mucho más moderno enfocado en OpenCL en comparación con el antiguo código Clover y es notable, sin embargo, es que Rusticl en este momento todavía no tiene soporte de imagen OpenCL que ha sido otro problema con Clover.

Rusticl confía en clc para compilar el código fuente de OpenCL en SPIR-V. Rusticl también depende de los controladores Mesa Gallium3D compatibles con NIR, pero todos los controladores principales ya lo hacen. Cabe señalar que Carol se puso en contacto con Khronos para obtener la certificación oficial de compatibilidad con OpenCL 3.0 en rusticl.

Y ahora, rusticl ha pasado con éxito las pruebas Kronos Conformance Test Suite para evaluar la compatibilidad con las especificaciones de OpenCL 3.0, asi lo anuncio en Twitter neil trevett:

Khronos se enorgullece de haber renunciado a todas las tarifas de adopción de MESA a lo largo de los años, y muchas implementaciones de MESA son oficialmente conformes. ¡Genial que OpenCL 3.0 de MESA esté pasando CTS! Infórmenos cuando MESA esté listo para ejecutar el Acuerdo de adopción de OCL 3.0 y podamos iniciar el proceso…

Las pruebas se realizaron en un sistema con GPU Intel de 12.ª generación (Alder Lake), con el cual el trabajo se realizó con el controlador Iris Mesa, pero se menciona que el proyecto debería funcionar con otros controladores Mesa que usen la representación intermedia (IR) sin tipo de los sombreadores NIR.

Rusticl actúa como una contraparte de la interfaz OpenCL Clover de Mesa y también se desarrolla utilizando la interfaz Gallium de Mesa. Clover lleva mucho tiempo en estado de abandono y rusticl se posiciona como su futuro reemplazo. Además de lograr la compatibilidad con OpenCL 3.0, el proyecto Rusticl se diferencia de Clover en que admite extensiones OpenCL para el procesamiento de imágenes , pero aún no admite el formato FP16.

Rusticl usa rust-bindgen para generar enlaces para Mesa y OpenCL que permiten llamar a las funciones de Rust desde el código C y viceversa.

La posibilidad de usar el lenguaje Rust en el proyecto Mesa se discute desde 2020. Entre las ventajas del soporte de Rust mencionan mejorar la seguridad y calidad de los drivers al eliminar problemas típicos cuando se trabaja con memoria, así como la posibilidad de incluir desarrollos de terceros en Mesa, como Kazan (una implementación de Vulkan en Óxido).

Entre las deficiencias, hay una complicación del sistema de compilación, la falta de voluntad para vincularse al sistema de paquetes de carga, un aumento en los requisitos para el entorno de compilación y la necesidad de incluir el compilador Rust en las dependencias de compilación que se requieren para construir componentes de escritorio clave en Linux.

Finalmente, se menciona que la solicitud para fusionar Rusticl con Mesa aún está pendiente y aún no se ha tomado una decisión sobre la inclusión del código de idioma Rust en Mesa, pero se espera que llegue en la versión de Mesa 22.2

Es por ello que antes de que Rusticl sea aceptado en la composición principal de Mesa, se puede usar una rama separada para construir, al compilar, debe especificar los parámetros de compilación «-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm =true».

Si estás interesado en poder conocer más al respecto sobre esta nueva especificación, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/jQUmMzD
via IFTTT

Shortwave 3.0 llega con retoques en la interfaz y estaciones privadas, entre otras novedades

Shortwave 3.0

Hace un tiempo existía una aplicación para Linux que se llamaba Gradio, y había muchos usuarios que estaban muy contentos con ella. Tras un tiempo en horas bajas, el proyecto recuperó fuerzas, pero lo hizo ya con un nuevo nombre. Desde entonces, la aplicación no ha hecho más que ir a mejor, y desde esta semana está disponible Shortwave 3.0. El cambio de la primera cifra significan cambios importantes, y los ha habido.

Shortwave 3.0 llega con muchos y muy vistosos cambios. Para empezar, se ha mejorado la interfaz de usuario. En este aspecto, es compatible con el modo oscuro de GNOME 42 y se ha actualizado para la última versión de libadwaita. Las novedades más destacadas son las que tenéis a continuación.

Novedades más destacadas de Shortwave 3.0

  • Soporte para el modo oscuro de GNOME 42.
  • Se pueden añadir emisoras privadas a la biblioteca. Podremos añadir emisoras manualmente, incluso de servicios de pago si ofrece una clave de API.
  • Ahora se pueden guardar los datos de las emisoras en el disco. Esto permitirá, por ejemplo, que si una estación se elimina del servidor, seguirá estando disponible en la aplicación. Primero nos notificará, pero la radio funcionará mientras siga emitiendo en la misma dirección.
  • Mejorada la ordenación de las búsquedas.
  • Ha adoptado la última versión de libadwaita.
  • Diseño Adwaita más actualizado.
  • Visualización de la información sobre la tasa de bits de la emisora, que también puede utilizarse como opción de clasificación.
  • Nuevo botón en la página de búsqueda que permite ordenar los resultados de la búsqueda.
  • Diálogo de emisoras revisado, con información más clara.
  • Actualización de la notificación del escritorio al cambiar de canción, en lugar de generar una nueva notificación por separado para cada canción.
  • Ahora se puede utilizar normalmente, incluso si radio-browser.info está fuera de línea/no disponible.

Shortwave 3.0 ya está disponible en Flathub. Los usuarios de Arch Linux también lo tienen en AUR. El paquete snap, para no variar, no está actualizado.

from Linux Adictos https://ift.tt/cCjz7Oe
via IFTTT

Krita 5.0.6 llega sólo para corregir un par de fallos

Krita 5.0.6

Esta vez no ha habido salto de versiones. A lo mejor lo hay en un futuro próximo, si alguna de las tiendas en las que entregan el software decide que hay algo que tienen que cambiar. Pero lo que tenemos disponible desde hace unas horas es Krita 5.0.6, una versión que ha llegado para corregir errores. Esta no se trata de lo que se conoce como «hotfix», es decir, una actualización en donde se solucionan muchos bugs.

Krita 5.0.6 ha sido lanzado para corregir tan sólo dos fallos. Con una lista de cambios tan corta, uno se pregunta si era necesario lanzar una actualización o era mejor esperarse y arreglar más problemas, pero el equipo de desarrolladores ha decidido que sí. Probablemente alguno de los fallos era especialmente molesto o se manifestaba más de lo esperado, lo que podría traducirse en dificultar el trabajo.

Los dos bugs que corrige Krita 5.0.6

Lo que ha corregido KDE en Krita 5.0.6 es un cuelgue (crash) al trabajar con capas vectoriales o selecciones vectoriales y utilizar mucho la función de deshacer y otro al eliminar una capa vectorial con una máscara de transparencia animada. Los desarrolladores no han mencionado hoy si esta temprana versión ha llegado para no arrastrarla en una actualización mayor, un Krita 5.1.0 que ya está en el punto de mira de los desarrolladores dibujantes de KDE. Krita 5.0.5 llegó hace menos de dos semanas, y lo hizo con muchas correcciones. Llegó tras saltarse dos versiones, «gracias» a una tienda de software que rechazó dos entregas que no cumplían con los requisitos de la misma.

Krita 5.0.6 ya está disponible desde su página web oficial para Windows, macOS y Linux. Desde allí, los usuarios de Linux podemos descargar una AppImage, pero también añadir un repositorio para Debian/Ubuntu. Para el que prefiera otros tipos de paquetes, pronto debería llegar a Flathub y Snapcraft, aunque en el caso del paquete snap sigue en la v4.4.5 y podría tardar mucho más tiempo

from Linux Adictos https://ift.tt/70SyqDp
via IFTTT

Chrome 101 llega con un gestor de prioridades para cargar el contenido, entre otras novedades

Chrome 101 llega con un gestor de prioridades para cargar el contenido

Tras la 100ª versión en la que introdujeron un logotipo ligeramente rediseñado, Google ha lanzado hace unas horas Chrome 101. Entre sus novedades, aunque no hay ninguna realmente importante, hay una que sí me llama la atención. Es lo que en inglés recibe el nombre de Priority Hints, con lo que el navegador dará prioridad sobre qué cargar antes y qué cargar después. Esto puede mejorar la experiencia de usuario, ya que, si funciona como se espera, cargará antes lo que realmente importa.

Por otra parte, aunque esto también llegará a otros navegadores basados en Chromium, Chrome 101 ha corregido muchos fallos de seguridad que estaban presentes en todas las plataformas, es decir, Windows, macOS, Linux y en cualquier otro sistema operativo en el que se puede instalar la versión de escritorio.

Novedades más destacadas de Chrome 101

  • Priority Hints como forma de indicar la importancia relativa de un recurso al navegador web. Las Sugerencias de Prioridad a su vez pueden dar más (o menos) prioridad al cargar diferentes activos.
  • La propiedad CSS font-palette ahora permite a los desarrolladores seleccionar una paleta de una fuente de color.
  • Compatibilidad con la función CSS hwb() para especificar los colores sRGB para los valores de tonalidad, blancura y negrura (HWB).
  • Compatibilidad con la API MediaCapabilities para flujos WebRTC.
  • Adiciones a la compatibilidad con la API de confirmación de pagos seguros v3.
  • USBDevice tiene ahora un método forget() para revocar voluntariamente un permiso a un dispositivo USB.
  • Se ha eliminado WebSQL para contextos de terceros, diez años después de que se abandonara el estándar de bases de datos WebSQL.

Chrome 101 ya está disponible para su descarga desde la página web oficial. En las distribuciones en donde se añade el repositorio automáticamente tras la primera instalación, la actualización ya está esperando en el centro de software o actualizando desde el terminal. En las basadas en Arch Linux, llegará en las próximas horas a AUR.

from Linux Adictos https://ift.tt/qLrGX39
via IFTTT

Cómo eliminar los espacios de los nombres de archivos

teclado, cómo eliminar espacios nombres archivos

En muchas ocasiones te habrás topado con nombres de ficheros y directorios que tienen espacios intermedios en sus nombres, especialmente aquellos que provienen de Windows. Estos espacios son en muchas ocasiones molestos, especialmente para trabajar desde el shell, ya que necesitas identificarlos para que no sean tratados como nombres u opciones de un comando separadas. Por eso, en este tutorial vamos a ver algunas formas de eliminar los espacios de forma automatizada.

Además, también veremos cómo se pueden usar estos ficheros o directorios con nombres que tienen espacios sin que te lance un error.

Cómo usar ficheros y directorios con espacios

Para tratar de escapar de los espacios de los nombres de los ficheros y directorios en el terminal de Linux, puedes hacerlo de estas formas:

  • Incluyendo «» (comillas dobles) en parte de la ruta donde haya espacios o en toda ella. Por ejemplo:

cd "nombre con espacio"/

  • Usando un carácter \ antes de cada espacio. Por ejemplo:

nano nombre\ con\ espacio.txt

De estas formas, lograrás eludir estos molestos espacios. Ahora bien, para no tener que volver a usar estas opciones que pueden ser más incómodas, podrás seguir los siguientes pasos…

Cómo eliminar los espacios de los nombres

Ahora bien, puedes usar varios métodos para que estos espacios en nombres dejen de ser un problema para siempre. Si tienes gran cantidad de nombres con espacio, no es lógico hacerlo uno a uno, pero se puede automatizar estas tareas para eliminar o sustituir los espacios:

  • Usar el comando rename para ello. Por ejemplo, el primero de estos comandos elimina los espacios de todos los .txt, mientras que el segundo lo hace en todos los archivos dentro del directorio actual:

rename ‘s/\s/_/g’ ./*.txt
rename ‘s/\s/_/g’ ./*.*

  • Usar find para reemplazar todos los nombres que tengan espacios, sustituyendo estos por _. Por ejemplo, hacerlo con todos los .txt del directorio actual o de todo el FS:

find . -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \;

**find / -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \;

**¡Cuidado con el segundo comando! Puede alterar nombres que sean empleados por ciertos programas y que dejen de funcionar.

from Linux Adictos https://ift.tt/5nBK0tv
via IFTTT

Cómo crear un directorio en Linux y otros comandos útiles

Directorio de Linux

El directorio de Linux sigue el Estándar de Jerarquía de Archivos de Unix con algunas modificaciones.

Desde la aparición del primer sistema operativo gráfico en la década del 60, todos los ordenadores trabajan con la metáfora de la oficina. Los archivos se denominan documentos y se guardan en carpetas. Esas carpetas a su vez se organizan de acuerdo con su contenido en otras carpetas. Dependiendo del nivel de acceso, el usuario tendrá la posibilidad de modificar o no su contenido.

En este post veremos cómo crear un directorio en Linux y trabajar con él tanto usando el emulador de terminal (de ahora en adelante la terminal) como la terminal gráfica.

¿A qué llamamos directorio en Linux?

Carpetas en Windows

Mientras que en Linux hablamos de directorios, en Windows nos referimos a los contenedores de archivos como carpetas.

Tanto Linux como macOS y los derivados de BSD adoptaron la estructura de archivos y la terminología de Unix, mientras que Windows siguió un camino propio.  Podríamos decir que el directorio en estos sistemas operativos es la carpeta de Windows con otro nombre, pero como UNIX es más viejo, es correcto decir que la carpeta de Windows es el directorio con otro nombre. El directorio registra su contenido en un índice haciendo más fácil su ubicación. Es decir que el directorio Documentos no contiene los documentos que se muestran cuando accedes a él. Lo que guarda es la ubicación real de esos documentos.

La estructura de directorios de Linux

No solo en la denominación los sistemas operativos inspirados en UNIX siguen un camino diferente a Windows. También en la estructura de directorios.  En Windows, se identifica al dispositivo base con una letra mayúscula seguida de :\  mientras que en Linux el directorio base se identifica como /

Al igual que los otros derivados, Linux utiliza el Estándar de Jerarquías de Archivos o Filesystem Hierarchy Standard por sus siglas en inglés, aunque le hace algunas modificaciones. En un sistema Linux encontramos los siguientes directorios:

  • /:  Es el directorio raíz que contiene a todos los demás directorios. Aún los archivos contenidos en otras unidades de almacenamiento se encuentran listado dentro del directorio raíz.
  • /bin: Aquí se almacenan los binarios esenciales para el usuario. Es decir, los programas que deben estar disponibles para el funcionamiento del sistema o para el primer uso.
  • /boot: En este apartado se listan los archivos necesarios para iniciar el sistema como el gestor de arranque y las diferentes versiones del núcleo que se fueron instalando.
  • /cdrom: Muestra los archivos listados en un cd o dvd insesrtado en la unidad.
  • /dev: En este apartado se listan los dispositivos conectados como directorios.  En /dev hay dos tipos principales de dispositivos, los llamados dispositivos de bloque son los que almacenan o guardan datos (unidades de disco), mientras que los denominados dispositivos de carácter son los que transmiten o transfieren datos (Teclado, ratón, puertos de conexión).
  • /etc: Guarda los archivos de configuración de todo el sistema. Pueden modificarse con un editor de textos teniendo los permisos correspondientes.
  • /home: Hay tantas carpetas /home como usuarios en un sistema. Contiene los archivos de datos y configuración de cada uno de ellos. En principio, cada usuario puede editar los de su directorio /home, pero. para editar el de otros deberá transformarse en administrador.
  • /lib:  Para reducir tiempo de programación y espacio en disco, los programadores suelen recurrir a programas de terceros para realizar tareas comunes como guardar o imprimir un archivo o mostrar un menú. Estos programas se llaman librerías. Este sector del directorio almacena las bibliotecas que utilizan los programas almacenados en los directorios /bin y /sbin.
  • /lost+found: En caso de que se produzca una falla en el sistema de archivos, cuando se reinicie el sistema se enumerarán los archivos dañados en este apartado. De esta forma será posible detectarlos y tratar de recuperar la mayor cantidad de datos posible.
  • /media: Aquí se abre un subdirectorio por cada dispositivo externo de almacenamiento que se conecte al ordenador.
  • /mnt: En esta ubicación se montan sistemas de archivos a los que se accede temporalmente.
  • /opt:  Es el lugar donde se suelen almacenar los archivos de los programas instalados en forma manual.
  • /proc: Contiene archivos especiales que representan información del sistema y de los procesos.
  • /root: Es el directorio /home del usuario administrador. Por razones de seguridad no se incluye en esta carpeta con la del resto de los usuarios.
  • /run: Ubicación ideal para que las aplicaciones almacenen los datos temporales sin riesgo de ser borrados por terceros en forma accidental.
  • /sbin: Contiene los binarios que el usuario root necesita pra la administración del sistema.
  • /selinux: SELinux es un módulo de seguridad para el núcleo Linux. En este directorio encontramos listados los archivos especiales que utiliza.
  • /srv: Es un directorio utilizado por determinados servicios (Como un servidor web) para almacenar y encontrar en un solo lugar los datos que necesita.
  • /tmp: Aquí se guardan los archivos que las aplicaciones necesitan en forma temporal. Se eliminan al reiniciar el sistema.
  • /usr: Se reúnen aquí los archivos y aplicaciones de los usuarios y no son esenciales para el funcionamiento del sistema. Dentro de este subdirectorio hay carpetas /bin, /sbin y /lib.
  • /var:  Es el subdirectorio en el que se encuentran archivos en el que el sistema va escribiendo información mientra es utilizado.

Cómo crear directorios en Linux

Manual de mkdir

El comando mkdir es el que se usa para crear un directorio en Linux

Antes de entrar de lleno en el tema de este artículo, la creación de directorios en Linux, debemos detenernos en el tema de los tipos de usuarios en Linux y su nivel de acceso dependiendo de los permisos de los directorios.

Podemos clasificar a los usuarios según el tipo de cuenta en:

  • Cuenta de usuario raíz (Root): Es la cuenta de mayor jerarquía dentro de un sistema Linux. En principio se crea automáticamente durante la instalación, aunque algunas distribuciones le asignan muchas de esas funciones al primer usuario normal creado y la inhabilitan. Esta cuenta puede realizar cualquier trabajo administrativo y acceder a cualquier lugar dentro del directorio incluyendo al /home de los demás usuarios.
  • Cuenta de usuario normal: Posee privilegios moderados y solo puede realizar determinadas tareas y acceder a un número limitado de directorios.
  • Cuentas de servicios: Son creadas por los programas en el momento de su instalación para poder ejecutar procesos y funciones.

Para determinar el acceso a los directorios, Linux utiliza dos parámetros:

  • Permisos.
  • Propietario.

En Linux cada uno de los directorios y archivos tiene tres tipos de personas con acceso:

  • Usuario: Es el creador del archivo y se lo denomina también propietario.
  • Grupo:  Cuando varios usuarios necesitan acceso a un archivo es más fácil asignarle privilegios de acceso a un grupo y agregar a los usuarios al mismo.
  • Otros: Usuarios que no entran en ninguna de las dos categorías.

Con respecto a cada directorio y archivo es posible asignar tres tipos de permisos a los diferentes tipos de usuarios:

  • Lectura: Este permiso da al usuario privilegios para abrir y leer un archivo. En el caso de tratarse de un directorio, también tendrá la capacidad de listar el contenido.
  • Escritura: En el caso de los archivos consiste en privilegios para poder modificar el contenido de un archivo, pero no el de moverlo, renombrarlo o eliminarlo. Eso si se puede hacer en caso de que se tenga privilegios de escritura para el directorio.
  • Ejecución: Esto se usa para programas descargados manualmente y que son autocontenidos (No necesitan interactuar con bibliotecas del sistema). Permite que la aplicación se ejecute.

¿Usar la terminal o hacerlo en forma gráfica?

Creación gráfica de directorio

En el directorio /home es muy fácil crear subdirectorios en forma gráfica, renombrarlos, moverlos y borrarlos. Si se trata de directorios de acceso restringido la cosa es un poco más compleja por lo que es recomendable hacerlo desde el emulador de terminal.

Dentro del directorio /home crear un directorio en forma gráfica no tiene mayor inconveniente. Solo hay que posar el puntero dentro del directorio deseado y con el botón derecho elegir la opción correspondiente y determinar el nombre. En el apartado propiedades podemos determinar los permisos de acceso desde el menú Propiedades. Acceder en forma gráfica como usuario administrador a los directorios protegidos es más complejo y varía según el escritorio. Por eso, para no alargar innecesariamente el artículo, vamos a explicar cómo hacerlo desde la terminal.

El comando para crear un directorio en Linux es mkdir, una reducción de la frase en inglés hacer un directorio. El uso es muy simple

mkdir <nombre_del_directorio>

Por ejemplo, si quieres crear el directorio linux_adictos

mkdir linux_adictos

Si lo que queremos es crear varios directorios

mkdir <nombre1> <nombre2> <nombre3> 

Nos quedaría lo siguiente:

mkdir linux_adictos desde_linux ubuntulog

Para verificar que el directorio fue creado

ls -l <nombre1>

Supongamos que queremos crear un directorio dentro de otro con acceso restringido. Suponiendo que tenemos los privilegios correspondientes hacemos

sudo /directorio_contenedor/nombre_de archivo.

Sería algo como:

sudo mkdir/opt/linux_adictos

Se puede dar el caso de que nos interese crear un subdirectorio y el directorio que lo contienen al mismo tiempo. La estructura del comando es la siguiente:

sudo mkdir -p /directorio_existente /<nombre_directorio>/<nombre_subdirectorio>

Podemos escribir algo parecido a:

sudo mkdir -p /opt/linux_adictos/artículos

Los comandos de asignación de permisos siendo:

  • r: Permiso para lectura.
  • w: Permiso para escritura.
  • x: Permiso para ejecución.

Son:

  1. chmod +rwx nombre_directorio para dar permisos.
  2. chmod -rwx nombre_directorio para quitarlos.

Si se quiere asignar permisos dentro de los directorios protegidos debe anteponerse el comando sudo.  En el caso de que se quiera asignar los permisos de grupo se pone una ge despues de chmod.

chmod g + (o -) rwx nombre_directorio.

Tengan en cuenta que solo se pone la letra correspondiente al permiso que se quiera dar o quitar.

from Linux Adictos https://ift.tt/YAkCE9Q
via IFTTT

Wolfire libero el código fuente de Overgrowth

Wolfire Games dio a conocer hace poco mediante una publicación de blog, que ha tomado la decisión de liberar el código fuente de uno de sus proyectos más exitosos, «Overgrowth». Después de 14 años de desarrollo como producto propietario, se decidió abrir el juego para brindar a los entusiastas la oportunidad de continuar mejorándolo a su gusto.

El código está escrito en C++ y está abierto bajo la licencia Apache 2.0, lo que permite, entre otras cosas, incluir el código en proyectos propietarios y vender el trabajo resultante. El código abierto cubre el motor del juego, los archivos del proyecto, los scripts, los sombreadores y las bibliotecas de soporte, mientras que ños recursos del juego siguen siendo propiedad y su distribución en proyectos de terceros requiere un permiso por separado de Wolfire Games (se permite la modificación).

En su publicación de blog, Wolfire Games compartió lo siguiente:

Hemos trabajado en Overgrowth durante 14 años. Es nuestro proyecto en curso de más larga duración, y una de las principales razones por las que hemos seguido trabajando en el juego es la fantástica respuesta de los fans y su seguimiento. No solo la gente de todo el mundo siguió jugando y disfrutando de Overgrowth durante años, sino que la comunidad también tuvo un enorme impacto en el proyecto. Desde los comentarios útiles que llevaron a mejores actualizaciones, hasta los asombrosos modders que expanden lo que puedes hacer en el juego, hasta los talentosos artistas y creadores que expanden el estilo y la tradición de Overgrowth. Este juego ha sido moldeado y elaborado en gran parte por las personas que lo juegan.

Entonces, ¿cuál es el siguiente paso? ¿Cómo honramos a la comunidad que ayudó a construir este juego? ¡Nos complace anunciar que el código de Overgrowth ahora es de código abierto! No solo eso, sino que también estamos reduciendo permanentemente el precio del juego en un tercio en todo el mundo, de $29,99 a $19,99 en EE. UU.

Solo el código se está volviendo abierto, no los activos artísticos o los niveles, la razón es que no queremos que alguien construya y venda Overgrowth como propio. Estamos usando la licencia Apache 2.0 , que te permite hacer lo que quieras con el código, con muy pocas obligaciones. Es fácil compilar y ejecutar el juego Overgrowth oficial utilizando el código fuente abierto, por lo que no necesita muchos conocimientos técnicos para comenzar.

Se supone que el código publicado se puede usar tanto para crear productos fundamentalmente nuevos que vienen con sus propios recursos de juego, como para ejecutarse con el conjunto original de recursos patentados al realizar experimentos o con fines educativos.

La inclusión de componentes y bibliotecas de juegos se puede transferir por separado a otros proyectos de juegos. También se menciona la voluntad de aceptar expansiones y cambios preparados por la comunidad para su inclusión en el juego comercial Overgrowth. Si no es posible integrar cambios en el proyecto principal, puede crear sus propias ediciones no oficiales del juego.

La esencia del juego Overgrowth está en las aventuras de un conejo ninja, que se involucra en un combate cuerpo a cuerpo con otros animales antropomórficos (conejos, lobos, ratas, gatos, perros) mientras completa las tareas asignadas al jugador.

El juego se desarrolla en un entorno tridimensional con una vista en tercera persona, y para lograr los objetivos, el jugador tiene total libertad de movimiento y organización de sus acciones. Además de las misiones para un jugador, también se admite el modo multijugador.

El juego está equipado con un motor de física avanzado que está estrechamente integrado con el motor 3D e implementa el concepto de «animación procesal basada en la física», que permite un movimiento realista de los personajes y un comportamiento de animación adaptable según el entorno.

El juego también destaca por el uso de controles sensibles al contexto originales que te permiten aplicar varias tácticas de combate, y un motor de IA que coordina las acciones conjuntas de los personajes y permite retirarse en caso de una alta probabilidad de derrota. Se proporciona una interfaz para editar mapas y escenarios.

El motor del juego admite física de cuerpo rígido, animación esquelética, iluminación píxel por píxel con refracción de reflejos, sonido 3D, modelado de objetos dinámicos como el cielo, el agua y la hierba, detalles adaptables, representación realista de lana y plantas, profundidad y desenfoque de  efectos durante el movimiento rápido, varios tipos de mapeo de texturas (incluido el mapeo dinámico de cubos y el mapeo de paralaje).

Finalmente si estás interesado en conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/egqKu1l
via IFTTT