J'ai utilisé disper -l
pendant de nombreuses générations d'ubuntu afin de déterminer le moniteur auquel je suis connecté et de déterminer si un moniteur externe avec vga ou hdmi est connecté. Ayant maintenant été mis à niveau vers 18.04, je constate que cette commande génère une erreur de segmentation. Le problème semble être autour depuis un moment, comme indiqué dans ce rapport de bogue mais personne ne semble faire quoi que ce soit à ce sujet. Y at-il un autre programme qui a la même fonctionnalité? J'ai consulté xdpyinfo
qui contient de nombreuses informations, mais pas ce dont j'ai besoin: suffisamment d'informations de résolution pour distinguer les moniteurs, ainsi que des informations indiquant si plusieurs moniteurs sont connectés et par quelle connexion.
Merci!
Je peux confirmer ceci bug 1655275 , il semble être causé par des correctifs anti-Meltdown ou anti-Specter (ou quelque chose de similaire à CVE-2017-1000364 avec Scilab ) depuis mon rapport journal des collisions dans commentaire n ° 9 contient des lignes étranges:
SegvAnalysis:
Segfault happened at: 0x7f1233f14add <XQueryExtension+45>: mov 0x968(%rdi),%rax
PC (0x7f1233f14add) ok
source "0x968(%rdi)" (0xffffffffd63a1188) not located in a known VMA region (needed readable region)!
destination "%rax" ok
SegvReason: reading unknown VMA
Je n'ai jamais utilisé disper
, mais je peux recommander xrandr
comme alternative.
Je peux aussi confirmer le bogue.
Mais bonne nouvelle! Cela semble extraordinairement facile à corriger .
J'ai généré une version corrigée (disponible sur Github si cela vous intéresse),
git clone <URL>
cd disper
make all
Sudo make install
Mais s'il vous plait, ne faites pas confiance inconditionnellement à des sources aléatoires (par exemple moi).
Lisez ci-dessous pour un guide complet sur la façon de faire cela pour vous-même, à la place!
Cloner la source Debian (source ici ),
git clone https://salsa.debian.org/python-team/applications/disper.git
cd disper
Ajouter AURen amont comme distant,
git remote add AUR https://github.com/apeyser/disper
git fetch --all
git remote -v
[sortie]
AUR https://github.com/apeyser/disper (fetch)
AUR https://github.com/apeyser/disper (Push)
Origin https://salsa.debian.org/python-team/applications/disper.git (fetch)
Origin https://salsa.debian.org/python-team/applications/disper.git (Push)
Oui, ils sont différents référentiels - pas simplement des branches différentes - mais pour ce patch de sélection de cerises, il est étonnamment commode de faites semblant, pendant un moment.
Juste ne fusionnez pas les "branches" à moins que vous n'ayez une bonne raison de ne pas causer un désordre inutile.
master
's"Renommer" (créer de nouvelles branches) leurs master
respectifs (pour votre propre enregistrement),
git checkout -b AUR-master AUR/master
git checkout -b debian-master debian/master
[sortie]
Branch 'AUR-master' set up to track remote branch 'master' from 'AUR'.
Switched to a new branch 'AUR-master'
Switched to a new branch 'debian-master'
Vérification de la santé mentale à ce sujet,
git branch -vv
[sortie]
AUR-master 4c36710 [AUR/master] Update README
* debian-master e3ca840 d/control: Remove ancient X-Python-Version field
debian/master e3ca840 [Origin/debian/master] d/control: Remove ancient X-Python-Version field
semble bon !
Vous pouvez explorer et voir les différences comme ça,
git log --graph --decorate --oneline debian-master
git log --graph --decorate --oneline AUR-master
git diff debian-master AUR-master
Ce qui nous intéresse, c'est que ça,
git log debian-master -1
[sortie]
commit e3ca840a48208a79a5c96da1bd9f6f1b845f5773 (HEAD -> debian-master, Origin/debian/master, Origin/HEAD, debian/master)
Author: Ondřej Nový <[email protected]>
Date: Mon May 14 08:10:02 2018 +0200
d/control: Remove ancient X-Python-Version field
n'inclut pas le correctif récent ici,
git log AUR-master -4
[sortie]
commit 4c367108b370d57ce178863fed7640bb846d3186 (AUR/master, AUR-master)
Author: Alexander Peyser <[email protected]>
Date: Thu Aug 23 17:16:42 2018 +0200
Update README
commit 4c635d65244bcb2a86a9da86d00007de96a23626 (tag: disper-0.3.1.1)
Author: Alexander Peyser <[email protected]>
Date: Thu Aug 23 16:02:23 2018 +0200
apply XOpenDisplay return type patch
commit 01132563030b9230e8f007794c3269dd913c3052
Author: Alexander Peyser <[email protected]>
Date: Thu Aug 23 16:17:07 2018 +0200
Update INSTALL and README
commit d0498b7892b36d183d09b3d905296ee7456ff24d (tag: disper-0.3.1)
Author: [email protected] <>
Date: Tue Apr 23 12:01:43 2013 +0200
also update Debian version number
Trois (3) nouveaux commits! Le second est le correctif.
Basculez vers debian-master
et créez une version locale (pour ne pas confondre la fusion avec les versions amont),
git checkout debian-master
git checkout -b local
git cherry-pick 0113256..4c36710
[sortie]
[local d05e2bd] apply XOpenDisplay return type patch
Author: Alexander Peyser <[email protected]>
Date: Thu Aug 23 16:02:23 2018 +0200
1 file changed, 12 insertions(+), 2 deletions(-)
error: could not apply 4c36710... Update README
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
Bien sûr, nous nous attendions à un conflit de fusion ...
Mais vous attendiez-vous vraiment à ce que ce soit seulement README
? Réparons-le!
git mergetool # or, vimdiff README (or whatever)
diff -NaurbB README* --color
git cherry-pick --continue
rm README.orig
J'ai fusionné dans la nouvelle section Nice de README
et sanity vérifié, puis continué avec un message commit inchangé.
Identifier où la version est conservée,
rg 0.3.1 # or, grep -rn 0.3.1 (or whatever)
git blame debian/changelog
Vous pouvez donc ajouter une section de version factice à debian/changelog
(pour votre propre compte rendu), ou non.
vim debian/changelog
git add debian/changelog
J'ai copié 0.3.1-3
dans une nouvelle section 0.3.1-4
et écrit quelques mots.
Est-ce que ça marche?
make <Tab>
make all -n
make install -n
Cela me semble bien. Installons,
make all
Sudo make install
~~
Confirm that it works,
~~~bash
disper -l
Commençons et étiquetons (pour référence future),
git commit -v
git tag local/0.3.1-4 -a
Je recommande vraiment une balise ou quelque chose et une version bosse. Sois gentil pour t'avenir.
Heureux piratage.