Urklipp (dator)
Urklipp är en buffert som vissa operativsystem tillhandahåller för korttidslagring och överföring inom och mellan applikationsprogram . Urklipp är vanligtvis tillfälligt och namnlöst, och dess innehåll finns i datorns RAM-minne .
Urklippet tillhandahåller ett applikationsprogrammeringsgränssnitt genom vilket program kan specificera klipp, kopiera och klistra in operationer. Det överlåts åt programmet att definiera metoder för användaren att styra dessa operationer, vilket kan inkludera tangentbindningar och menyval . När ett element kopieras eller klipps ut måste urklippet lagra tillräckligt med information för att möjliggöra ett vettigt resultat oavsett var elementet klistras in. Applikationsprogram kan utöka urklippsfunktionerna som operativsystemet tillhandahåller. En urklippshanterare kan ge användaren ytterligare kontroll över klippbordet. Specifik urklippssemantik varierar mellan operativsystem, kan också variera mellan versioner av samma system och kan ibland ändras av program och användarpreferenser.
Windows , Linux och macOS stöder en enda urklippstransaktion.
Historia
Urklipp som buffertar för små textbitar användes först av Pentti Kanerva när han använde det för att lagra raderade texter för att återställa dem. Eftersom man kunde ta bort en text på ett ställe och återställa den på ett annat, var termen "radera" inte vad man skulle förvänta sig i det här fallet. Larry Tesler döpte om detta 1973 till klipp, kopiera och klistra in och myntade termen "urklipp" för denna buffert, eftersom dessa tekniker behöver ett urklipp för att tillfälligt spara kopierade eller klippta data.
Dataformat
Applikationer kommunicerar via klippbordet genom att tillhandahålla antingen serialiserade representationer av ett objekt eller ett löfte (för större objekt). Under vissa omständigheter kan överföringen av vissa vanliga dataformat uppnås på ett ogenomskinligt sätt genom att använda en abstrakt fabrik ; till exempel Mac OS X en klass som heter NSImage för att ge åtkomst till bilddata lagrad på urklippet, även om det faktiska formatet för bilddata som backar objektet är dolt. Den sändande och mottagande applikationen förhandlar om formaten som kan överföras mellan dem, ofta med den aktiva GUI-widgeten som ansvarar för att tillhandahålla acceptabla typtransformationer. Klistret möjliggör överföring av vanliga objekt som URL:er, färger, bilder, strängar, tillskrivna strängar ( Rich text ) och ljud. Operativsystemet och GUI-verktygslådan kan tillhandahålla några vanliga konverteringar, till exempel konvertering från rik text till vanlig text och vice versa. Olika typidentifierare för dataöverföring stöds av moderna operativsystem, som automatiskt kan tillhandahålla acceptabla mappningar mellan typsystem, till exempel mellan MIME och Uniform Type Identifier .
Datorsäkerhet
Urklippskapning är ett utnyttjande där en persons urklipps innehåll ersätts med skadlig data, till exempel en länk till en skadlig webbplats. Även om vissa säkerhetshål har åtgärdats, JavaScript fortfarande användas för att modifiera urklippsinnehåll via en attack som kallas "pastejacking". Dylan Ayrey som utvecklade attacken satte upp en webbplats som visar hur detta utnyttjande kan användas för att lura en användare att köra kommandon de inte ville köra.
Det har förekommit exploateringar där webbsidor tar tag i urklippsdata. I början av 2013 exponerade forskare risker som härrörde från Android -baserade lösenordshanterare och dokumenterade hur lösenord i 21 av de mest populära av dessa appar kunde nås av vilken annan app som helst på en Android-enhet, inklusive de med extremt låga privilegier. Joe Siegrist noterar att detta är ett " OS -nivåproblem som påverkar allt som körs på Android".
Urklippshantering och tillägg
Urklippshanterartillägg lägger till funktionalitet till de integrerade urklippsfunktionerna i ett operativsystem. De är applikationer som gör det möjligt för användaren att manipulera urklippet. På plattformar som Linux som använder flera inkompatibla GUI-verktygssatser, används urklippshanterare ofta för att överföra data mellan applikationer med olika sådana ramverk.
När en urklippshanterare tillhandahåller flera klipp- och klistratransaktioner, behandlas urklippet som en stack- eller klippbok, med nya klipp och kopior som placeras på en lista över senaste transaktioner. Standardinklistringsoperationen kopierar den senaste transaktionen, medan specialiserade inklistrar ger åtkomst till de andra lagrade transaktionerna. Dessa hanterare tillhandahåller i allmänhet också ett fönster som visar transaktionshistoriken och låter användaren välja tidigare kopior, redigera dem, ändra deras format och till och med söka bland dem.
Eftersom de flesta operativsystem (t.ex. Windows, macOS, Linux, X11, Android, iOS) inte sparar urklippsinnehållet till någon beständig lagring – när en användare loggar ut eller startar om systemet raderas urklippsinnehållet – en extra funktionalitet är att spara klippbordet ihärdigt. Ett annat exempel är att få det lokala urklippet att fungera med onlineapplikationer genom att spara urklippsdata på onlineplatsen vid en kopiering eller klippning, vilket gör denna data tillgänglig för onlineapplikationer för inklistring. Urklippshanterare kan också fungera som verktyg för att övervinna begränsningen av programvara som inte stöder kopiering och inklistring (till exempel när man loggar in på fjärransluten Windows-server kan man inte kopiera och klistra in deras användarnamn och lösenord).
Operativsystemspecifika urklipp
Microsoft Windows och ReactOS
Utvecklare | Microsoft , ReactOS-bidragsgivare |
---|---|
Operativ system | Windows , ReactOS |
Typ | Kommando |
Licens | Windows: Proprietär kommersiell programvara ReactOS: GNU General Public License |
Hemsida |
Urklippet i Microsoft Windows och ReactOS innehåller ett objekt i flera tillgängliga format.
Varje objekt har minst ett urklippsformat, men kan ha olika typer av format av samma data. De tre olika typerna av möjliga format är:
- standardformat (t.ex. CF_BITMAP eller CF_UNICODETEXT),
- registrerade format (t.ex. CF_HTML)
- privata format för internt bruk
Till och med Windows XP kunde klippbordet nås via ClipBook Viewer- applikationen. I nyare versioner av Windows kan innehållet nås via urklippshanterare .
Data kan lagras i Windows och ReactOS urklipp via kommandoraden med hjälp av klippkommandot :
$ # för att klistra in innehållet i en mapp i klippbordet: $ dir | klämma
Urklippet kan också nås via PowerShell :
# för att klistra in innehållet i en katalog i urklippet Set-Clipboard -Sökväg "C:\directory\" # för att hämta innehållet i urklippet Get-Clipboard
Apple macOS
Urklippet i Apple macOS innehåller ett objekt i flera tillgängliga format.
Innehållet i klippbordet kan ses genom att välja menyalternativet Visa urklipp från Finders redigeringsmeny. Rådata och de lagrade formaten kan ses med ClipboardViewer.
Med hjälp av följande kommandon kan klippbordet nås från kommandoraden:
$ # för att kopiera data till urklipp: $ echo 'hello world' | pbcopy $ # för att klistra in från klippbordet: $ pbpaste hello world
X fönstersystem
X Window System som vanligtvis används på Unix- och Linux- system tillhandahåller tre urklipp, som heter "PRIMÄR", "SECONDARY" och "CLIPBOARD".
Användningen och hanteringen av olika urval är inte standardiserad. Men de flesta moderna verktygssatser och skrivbordsmiljöer, som GNOME eller KDE , följer en allmänt accepterad konvention, som beskrivs i freedesktop.org- specifikationen. Ett urval, CLIPBOARD, används för traditionell urklippssemantik, med genvägar som är identiska med Windows. Ett annat urval, PRIMÄR, är en X11-specifik mekanism. Data "kopieras" direkt efter markering och klistras in med den tredje (mitten) musknappen. Dessa kopierade data är vanligtvis separerade från URLIPPOR valet och ändrar inte dess innehåll. SEKUNDÄR var planerat som ett alternativ till PRIMÄR men används bara inkonsekvent.
Det finns två kommandoradsverktyg (xsel och xclip) som kan komma åt urklippet:
$ # för att klistra in standardutdata till klippbordet med xclip $ echo text | xclip -in -selection urklipp $ # för att klistra in standardutdata till urklipp med xsel $ echo text | xsel --klippbord
Huvudskillnaden mot OS X och Windows är att ingen data faktiskt lagras i CLIPBOARD-klippbordet utan bara referensen till den kopierade eller klippta datan. Applikationen gör anspråk på äganderätten till urvalet av URLIPPET och kommunicerar dess ägande till X-servern. När du klistrar in dessa data begärs data och dess tillgängliga format från applikationen som äger urklippsvalet.
AmigaOS
Amigas operativsystem använder 256 enheter , så en har flera urklipp samtidigt.
Android
Android tillhandahåller ett urklipp som rymmer upp till ett klippobjekt och är tillgängligt i hela systemet. Enkel text lagras direkt i klippbordet; komplexa data lagras genom referens. Klippobjektet har ett av tre format: textsträng, URI-objekt eller avsikt.
För att interagera med urklipp använder en app klassen ClipboardManager och systemanrop för att klippa ut, kopiera och klistra in objekt.
I Android 8.0 dyker urklippet först upp i användargränssnittet: I en situation där användaren förbereder sig för att klistra in från klippbordet visas ett "Urklipp"-alternativ som ger användaren tillgång till många objekt som kopierats eller klippts ut till klippbordet tidigare. Bortsett från det, och i tidigare versioner, har användaren ingen tillgång till klippbordet förutom i appar som gör det tillgängligt för användaren.
Apple iOS
Urklippet kallas "pasteboard" i iOS liknande OS X. Appar på det här operativsystemet kan skapa ytterligare pasteboards, kallade instanser av UIPasteboard-klassen, som kan vara offentliga eller privata. En instans kan innehålla ett enda objekt eller flera objekt i olika format.
Formaten identifieras av Uniform Type Identifiers (UTI).
Data som finns i kortet kan inte nås via GUI utan endast från systemet och applikationerna.
API:er
Applikationer kan komma åt klippbordet eller dess data via API:er .
JavaScript
I JavaScript finns en klass som upptäcker ändringar i användarens urklippsdata (ClipboardEvent) och fungerar för att ändra innehållet i ett urklipp eller läsa från det (clipboardData.getData(), clipboardData.setData()), men stöds inte av alla webbläsare eftersom ändring av urklipp för en användare kan representera ett säkerhetsproblem.
Qt
I Qt finns ett omslag för varje plattform som stöds. Det ger tillgång till fönstersystems urklipp med användning av klassen QClipboard. Denna klass underlättar åtkomst till vanliga datatyper efter funktioner. Datatypen för elementet som är lagrat i urklippet indikeras via MIME och MIME-data kan också läggas in i klippbordet med hjälp av funktioner från denna klass.
Se även
Vidare läsning
- Stanek, William R. (2008). Windows Command-line Administrator's Pocket Consultant, 2nd Edition . Microsoft Press . ISBN 978-0735622623 .
- McElhearn, Kirk (2006). Kommandoraden i Mac OS X: Unix Under the Hood . John Wiley & Sons . ISBN 978-0470113851 .
externa länkar
- klipp | Microsoft Docs
- 2. Peer-to-peer-kommunikation med hjälp av urval i ICCCM
- Windows Dev Center: Överföra skalobjekt med dra-och-släpp och urklipp
- Microsoft Developer Network: Hur urklippet fungerar, del 1
- Microsoft Developer Network: How the Clipboard Works, del 2
- Microsoft Developer Network: Fördröjd rendering av urklippsdata